Skip to content
Quarters Developers
esc
  • Type an endpoint, an object or a word from a guide.

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

ParameterInTypeDescription
id requiredpathstringThe reservation id.

Response

200 { agreement: Agreement | null }

Agreement fields
FieldTypeDescription
id string
version integerCounts up on every re-issue. Superseded versions are not listed.
provider enumquarters for an envelope Quarters issued itself, external for one written through this API. "quarters""external"
externalId string | nullYour stable id for the envelope, as you reported it.
status enum "sent""completed""declined""failed""superseded""voided"
templateName string | nullThe Quarters template used; null for an external envelope.
sentAt timestamp | null ISO 8601
completedAt timestamp | null ISO 8601
declinedAt timestamp | null ISO 8601
voidedAt timestamp | null ISO 8601
error string | nullWhy it failed. Only kept while status is failed.
documentUrl string | nullThe provider-hosted copy of the executed document, as reported.
document object | nullSet once the executed PDF has been archived: by Quarters for its own envelopes, by you through the document endpoint for yours.
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.

StatuserrorWhen
404not_foundUnknown reservation.

Notes

  • provider is quarters for an envelope Quarters issued itself and external for one written through this API. A Quarters signer never exposes its signing link here; an external one echoes the signingUrl you reported.
  • document is set once the executed PDF has been archived, by Quarters for its own envelopes and by you through the document endpoint for yours. documentUrl is the copy hosted by the external provider, if you reported one.

Request

curl "https://go.quarters.live/api/v1/reservations/7c02…/agreement" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Response · 200

{
  "agreement": {
    "id": "9a41…",
    "version": 1,
    "provider": "external",
    "externalId": "docuseal:1849213",
    "status": "sent",
    "templateName": null,
    "sentAt": "2026-09-08T10:02:11.000Z",
    "completedAt": null,
    "declinedAt": null,
    "voidedAt": null,
    "error": null,
    "documentUrl": null,
    "document": null,
    "signers": [
      {
        "role": "lessor",
        "name": "City Retreat B.V.",
        "email": "bookings@cityretreat.com",
        "status": "completed",
        "signingUrl": null,
        "viewedAt": null,
        "completedAt": "2026-09-08T10:02:11.000Z",
        "declinedAt": null,
        "declineReason": null
      },
      {
        "role": "lessee",
        "name": "Sofia Rossi",
        "email": "sofia@example.com",
        "status": "pending",
        "signingUrl": "https://docuseal.com/s/…",
        "viewedAt": null,
        "completedAt": null,
        "declinedAt": null,
        "declineReason": null
      }
    ],
    "createdAt": "2026-09-08T10:02:11.000Z",
    "updatedAt": "2026-09-08T10:02:11.000Z"
  }
}