Upload quote
Create or update one quote with its PDF from your own quoting system. It lists in the Quotes table with the synced ones, and the company’s portal users can open the PDF there. Send the PDF inline as base64. The record is keyed by externalId: push it again to update it, for example when its stage changes; omit pdf to keep the stored one. Requires financial.write and the linked user’s write_settings_integrations permission; staff API keys only. No PSA or quoting integration is needed.
Authorizations
Use your API key as a Bearer token. API keys can be generated in Settings → Integrations → API Access.
Body
Your system's id for the record. Pushing the same externalId again updates the record instead of creating a second one.
1 - 255MSPortal company (client) id, from GET /api/public/v1/companies. Its portal users see the record.
1 - 255"Firewall refresh"
100"A-77"
Stage shown in the table, e.g. Draft, Sent, Won, Lost. Roles that limit quotes to some stages hide quotes without one.
100MSP staff member who owns the quote
200Client contact the quote is for. Roles limited to their own quotes match it against the portal user's full name.
200-1000000000000 <= x <= 1000000000000-1000000000000 <= x <= 1000000000000-1000000000000 <= x <= 1000000000000ISO 4217 currency code
^[A-Za-z]{3}$"EUR"
When the quote was created (ISO 8601); defaults to now
Optional https link to the quote in your system
2000^https:\/\/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