Agreements
Retrieve the current agreement
GET /api/v1/reservations/{id}/agreement
The booking’s current agreement, or null when none has been issued. Superseded versions are not listed; the current one carries its version.
Path parameters
| Parameter | In | Type | Description |
|---|---|---|---|
| id required | path | string | The reservation id. |
Response
200 { agreement: Agreement | null }
Agreement fields
| Field | Type | Description |
|---|---|---|
| id | string | |
| version | integer | Counts up on every re-issue. Superseded versions are not listed. |
| provider | enum | quarters for an envelope Quarters rendered and signed itself, docuseal for one created in the organisation’s DocuSeal account, guesty for a record imported from Guesty. Each envelope keeps the provider it was issued with. "quarters""docuseal""guesty" |
| externalId | string | null | The DocuSeal submission id, or the Guesty reservation id; null for a Quarters envelope. |
| status | enum | "sent""completed""declined""failed""voided" |
| templateName | string | null | The Quarters template used; null for a DocuSeal envelope. |
| sentAt | timestamp | null | ISO 8601 |
| completedAt | timestamp | null | ISO 8601 |
| declinedAt | timestamp | null | ISO 8601 |
| voidedAt | timestamp | null | ISO 8601 |
| error | string | null | Why it failed. Only kept while status is failed. |
| documentUrl | string | null | The provider’s own copy of the executed document, where it keeps a lasting link. Null for DocuSeal, whose links expire within the hour. |
| document | object | null | Set once the executed PDF has been archived in Quarters: sealed at signing for its own envelopes, fetched from DocuSeal for those. |
| signers | Signer[] | |
| createdAt | timestamp | ISO 8601 |
| updatedAt | timestamp | ISO 8601 |
Errors
Every failure is { error, message }; see Errors. A missing or expired bearer is a 401 on every endpoint
but the token exchange.
| Status | error | When |
|---|---|---|
| 404 | not_found | Unknown reservation. |