# Quarters API > The public API of Quarters, property management software for furnished mid-term rentals. OAuth 2.0 client credentials, published listings, live availability, reservations, tenancy agreements and inquiries, with signed webhooks. Base URL https://go.quarters.live/api/v1. Machine-readable description: https://developers.quarters.live/openapi.json. Listing content is served from the snapshot the Publish button froze; only availability is live. Money is integer euro-cents. Dates are YYYY-MM-DD strings local to the property, check-out exclusive. Credentials are per organisation and come from Settings › Integrations in the dashboard. ## Guides - [Quick start](https://developers.quarters.live/guides/quick-start): Credentials, a token and your first call, in ten minutes. - [Authentication](https://developers.quarters.live/guides/authentication): OAuth 2.0 client credentials: mint a token once a day, send it as a bearer on every call. - [Conventions](https://developers.quarters.live/guides/conventions): Eight things that hold on every endpoint, and will bite you otherwise. - [Errors](https://developers.quarters.live/guides/errors): A status that means what it says and a body with two fields. - [Webhooks](https://developers.quarters.live/guides/webhooks): Register an endpoint, verify the signature, read the record. Nothing has to poll. - [Build a booking website](https://developers.quarters.live/guides/booking-website): Mirror the listings, draw the calendar, land the form as an inquiry. - [Sync reservations](https://developers.quarters.live/guides/reservation-sync): Load every booking once, then only what changed, for contracts, accounting or a guest portal. - [Contracts signed elsewhere](https://developers.quarters.live/guides/external-contracts): Keep signing in your own system and let Quarters mirror the envelope, the signature and the PDF. ## API reference - [Every endpoint](https://developers.quarters.live/reference): Every operation, by resource. - [Webhook events](https://developers.quarters.live/reference/webhook-events): Every event, the envelope, the headers and the signature. - [POST /api/v1/oauth2/token](https://developers.quarters.live/reference/token): Exchange client credentials for an access token. The OAuth 2.0 client-credentials grant, the one grant this API speaks. - [GET /api/v1/listings](https://developers.quarters.live/reference/list-listings): List every published listing. The complete set of published properties, sorted by nickname. - [GET /api/v1/listings/{id}](https://developers.quarters.live/reference/get-listing): Retrieve one listing. The same object as the list, for a single property. - [GET /api/v1/listings/{id}/calendar](https://developers.quarters.live/reference/get-calendar): Retrieve live availability. Per-day availability, computed on request. The one read that is not snapshot-bound. - [GET /api/v1/reservations](https://developers.quarters.live/reference/list-reservations): List reservations. Filtered, sorted and paged. `updatedSince` is the incremental-sync filter. - [GET /api/v1/reservations/{id}](https://developers.quarters.live/reference/get-reservation): Retrieve one reservation. The booking with its guest, property identity, agreed money and current agreement. - [GET /api/v1/reservations/{id}/agreement](https://developers.quarters.live/reference/get-agreement): Retrieve the current agreement. The booking’s current agreement, or null when none has been issued. - [PUT /api/v1/reservations/{id}/agreement](https://developers.quarters.live/reference/put-agreement): Report an external agreement. Your whole current view of the envelope: creates a version, or updates the current one in place. - [PUT /api/v1/reservations/{id}/agreement/document](https://developers.quarters.live/reference/put-agreement-document): Archive the executed PDF. The signed document, stored by Quarters next to the agreement. - [GET /api/v1/reservations/{id}/agreement/document](https://developers.quarters.live/reference/get-agreement-document): Retrieve the archived PDF. The bytes archived for the current agreement, as application/pdf. - [POST /api/v1/inquiries](https://developers.quarters.live/reference/create-inquiry): Create an inquiry. A booking request from your form, landing as a row staff act on. ## Objects - [Listing](https://developers.quarters.live/reference/objects/listing): A property as the Publish button froze it. Content being edited right now never appears here; only the calendar is live. - [Address](https://developers.quarters.live/reference/objects/address): Where the flat is. - [Room](https://developers.quarters.live/reference/objects/room): A room of the flat. Bathrooms carry no beds; a living room may. - [Bed](https://developers.quarters.live/reference/objects/bed): One kind of bed in a room, with how many of it there are. - [Image](https://developers.quarters.live/reference/objects/image): A photo, in four renditions. URLs are absolute and stable until the listing is re-published. - [Description](https://developers.quarters.live/reference/objects/description): The six prose fields of a listing. `title` is plain; the rest is the editor’s HTML. - [CalendarDay](https://developers.quarters.live/reference/objects/calendar-day): One day of a listing’s availability. - [Reservation](https://developers.quarters.live/reference/objects/reservation): A booking with its guest, the property’s identity, the money as agreed at booking time and the current agreement if there is one. - [ReservationStatus](https://developers.quarters.live/reference/objects/reservation-status): `inquiry` is a request that blocks nothing; `reserved` is held; `confirmed` is firm; `cancelled` releases its days. - [PropertyIdentity](https://developers.quarters.live/reference/objects/property-identity): The flat’s identity as it stands today: name, address, owner. Read live, because that is what a tenancy agreement must state. Listing content stays behind the publish boundary and comes from /listings. - [Guest](https://developers.quarters.live/reference/objects/guest): The person the booking is for. - [Agreement](https://developers.quarters.live/reference/objects/agreement): The tenancy agreement on a booking, in its current version. - [Signer](https://developers.quarters.live/reference/objects/signer): One party to the agreement. - [AgreementInput](https://developers.quarters.live/reference/objects/agreement-input): Your whole current view of the envelope. - [SignerInput](https://developers.quarters.live/reference/objects/signer-input): One party, as you report it. Signers are matched by role and never removed, so you may send only the party that changed. - [InquiryInput](https://developers.quarters.live/reference/objects/inquiry-input): A booking request from your form. Text is trimmed. - [TokenRequest](https://developers.quarters.live/reference/objects/token-request): The form posted to the token endpoint. HTTP Basic with client_id:client_secret is accepted in place of the two fields, and so is the same form as a JSON object. - [TokenResponse](https://developers.quarters.live/reference/objects/token-response): A bearer token, good for 24 hours. - [Error](https://developers.quarters.live/reference/objects/error): Every failure on a resource endpoint. A 401 also carries WWW-Authenticate: Bearer. - [OAuthError](https://developers.quarters.live/reference/objects/oauth-error): The token endpoint fails in RFC 6749’s own shape rather than the API’s, because that is what an OAuth client library reads.