Skip to main content
POST
Upload quote

Authorizations

Authorization
string
header
required

Use your API key as a Bearer token. API keys can be generated in Settings → Integrations → API Access.

Body

application/json
externalId
string
required

Your system's id for the record. Pushing the same externalId again updates the record instead of creating a second one.

Required string length: 1 - 255
companyId
string<uuid>
required

MSPortal company (client) id, from GET /api/public/v1/companies. Its portal users see the record.

name
string
required
Required string length: 1 - 255
Example:

"Firewall refresh"

number
string
Maximum string length: 100
Example:

"A-77"

stage
string

Stage shown in the table, e.g. Draft, Sent, Won, Lost. Roles that limit quotes to some stages hide quotes without one.

Maximum string length: 100
ownerName
string

MSP staff member who owns the quote

Maximum string length: 200
contactName
string

Client contact the quote is for. Roles limited to their own quotes match it against the portal user's full name.

Maximum string length: 200
oneTimeTotal
number
Required range: -1000000000000 <= x <= 1000000000000
monthlyTotal
number
Required range: -1000000000000 <= x <= 1000000000000
annualTotal
number
Required range: -1000000000000 <= x <= 1000000000000
currency
string

ISO 4217 currency code

Pattern: ^[A-Za-z]{3}$
Example:

"EUR"

quoteDate
string<date-time>

When the quote was created (ISO 8601); defaults to now

expiresAt
string<date-time>
wonAt
string<date-time>
url
string

Optional https link to the quote in your system

Maximum string length: 2000
Pattern: ^https:\/\/
pdf
object

The document the client opens in the portal. Required the first time an externalId is pushed; omit it on a later push to keep the stored PDF.

Response

quote updated

data
object
required