Add Customer Quote Comment
POST/api/public/quotes/:token/comment
Posts the buyer's question or message to the quote's conversation. The seller is alerted.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Body
body(required, string, max 5000) — the message.name(optional, string, max 255) — who is writing, shown to the seller in the alert.
Allowed until the quote is declined or ordered; after that the conversation is closed (422 closed).
No login. The 64-character quote token in the URL is the only credential — send no bearer token. The request must go to the seller's own workspace domain (e.g. https://acme.sku.io): the workspace is identified from the request's domain, and any other domain answers 404. Returns 503 while the workspace is briefly under maintenance.
Every refusal is JSON {message, reason}: message is written for the buyer and reason is a stable code — not_found (404: unknown token, a quote that was never sent, or a quote answered on a sales channel), being_updated (422: the seller is revising the quote; also carries quote_number and seller_name), expired, already_answered, closed, invalid_selection (all 422).
Limited to 10 requests per minute per IP address (shared with accept and decline).
Returns 201 with the updated quote (same shape as Get Customer Quote).
Authentication: none (quote token in the URL).
Request
Responses
- 201
- 401
- 403
- 404
- 422
- 429
Created
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not Found
Response Headers
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.