Change a quote status
Same service as the app: timeline entries, amendments, Slack message of an amendment confirmed by hand, quote.status_changed webhook. accepted and signed are exclusive per event: when another live contract (accepted, signed, invoiced, paid) exists and force_confirm is false, nothing is written and the answer is 200 with success: false, conflict: EXISTING_ACCEPTED_QUOTES and the competing quotes. Call again with force_confirm: true: competing accepted quotes go back to pending; signed, invoiced and paid ones stay and their amounts add up. A platform quote (source: platform) only takes accepted or rejected; anything else, or a live contract next to it, is a 409 that force_confirm does not lift. invoiced, paid and cancelled are set by invoicing and POST /quotes/{id}/cancel. Role permission: quotes.manage.
Request
- Base URL: https://joinways.app/api/v1
- URL: https://joinways.app/api/v1/quotes/{id}/status
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://joinways.app/oauth/authorize, token URL https://joinways.app/api/oauth/token, scopes: mcp.write)
Headers
Optional client-generated key (1 to 255 characters, e.g. a UUID v4) that makes the request idempotent for 24 hours: a retry with the same key replays the recorded response (marked Idempotency-Replayed: true) instead of executing the operation again. Same key with another body: 422 idempotency_key_reuse; while the first request runs: 409 idempotency_conflict. See the Idempotency section.
Request body
Response
Status written (success: true), or not written because of a competing contract (success: false).
Example response
{
"status": "pending"
}Changes
No recorded changes to this operation across all 1 revision of this API.