Couplr Couplr developers
API v1 · explained by Flip

API reference

Every v1 endpoint, grouped by resource, with the conventions they all share. Generated from the OpenAPI specification.

View Markdown

Base URL: https://couplrfsm.com/api/v1. API version: v1.

These pages are generated from the OpenAPI specification, which is tested against the running API. Authentication is described in Authentication and API keys. Error format, pagination, rate limits and idempotency are described in Errors, limits and retries.

Resources#

  • Customers: List, find, create and update customers, and add service addresses to them.
  • Jobs: List, create and update jobs.
  • Lookup lists: Short lists of the job types, technicians, tags, lead sources and market segments a job refers to by id.
  • Invoices: List and read invoices with their line items, and create draft invoices.
  • Payments: Read the payments collected on invoices and what has been refunded.
  • Price book: List, read, create and update the items a company puts on invoices and estimates.
  • Estimates: List and read estimates, create one with the simple layout, and email it to the customer.
  • Schedules and time: Read time entries (who worked when) and the schedule blocks that are not jobs.
  • Notes: Read the notes on a customer or a job, and add a note.
  • Photos and documents: Time-limited links to the photos on a job or a customer, and to a customer's documents.
  • Equipment: Read the equipment installed at a customer's addresses.
  • Booking: Find open time slots and book a visit into one.
  • Maintenance plans: Read the maintenance plans a company sells and which customers are enrolled in them, and enroll a customer.
  • Leads: List and read the leads Couplr's assistant is talking to, and add a lead.
  • Webhook subscriptions: Add, change and remove the destinations Couplr sends events to.
  • Deleted records: Learn which customers, jobs, invoices and estimates were removed, to keep a copy in step.
  • Account: Identify the API key in use.

Conventions#

Used by every endpoint:

  • Send and receive JSON. Records come back inside data.
  • In examples, replace YOUR_API_KEY with your key and YOUR_UNIQUE_KEY with a unique string per operation. Ids such as 1842 are examples.
  • Request fields that are not listed are ignored. A field you omit keeps its value on update, or takes its default on create.
  • Timestamps are ISO 8601 in UTC unless a field says otherwise. Dates are YYYY-MM-DD.
  • Customer, job, estimate and lead ids are integers. Invoice ids are UUID strings.
  • Money is in US dollars. Invoice amount and line rate are decimal strings such as "389.00". Estimate total is a number.

All endpoints#

Endpoint What it does Ability
GET /api/v1/customers List customers customers:read
POST /api/v1/customers Create a customer customers:write
GET /api/v1/customers/{id} Get a customer customers:read
PATCH /api/v1/customers/{id} Update a customer customers:write
POST /api/v1/customers/{id}/addresses Add an address to a customer customers:write
GET /api/v1/jobs List jobs jobs:read
POST /api/v1/jobs Create a job jobs:write
GET /api/v1/jobs/{id} Get a job jobs:read
PATCH /api/v1/jobs/{id} Update a job jobs:write
POST /api/v1/jobs/{id}/complete Complete a job jobs:complete
GET /api/v1/job-types List job types jobs:read
GET /api/v1/technicians List technicians jobs:read
GET /api/v1/tags List tags jobs:read
GET /api/v1/lead-sources List lead sources jobs:read
GET /api/v1/market-segments List market segments jobs:read
GET /api/v1/invoices List invoices invoices:read
POST /api/v1/invoices Create a draft invoice invoices:write
GET /api/v1/invoices/{id} Get an invoice invoices:read
POST /api/v1/invoices/{id}/send Send a draft invoice invoices:send
GET /api/v1/invoices/{id}/payments List an invoice's payments payments:read
GET /api/v1/payments List payments payments:read
GET /api/v1/price-book-items List price book items price-book:read
POST /api/v1/price-book-items Create a price book item price-book:write
GET /api/v1/price-book-items/{id} Get a price book item price-book:read
PATCH /api/v1/price-book-items/{id} Update a price book item price-book:write
GET /api/v1/estimates List estimates estimates:read
POST /api/v1/estimates Create an estimate estimates:write
GET /api/v1/estimates/{id} Get an estimate estimates:read
POST /api/v1/estimates/{id}/send Send an estimate estimates:write
GET /api/v1/time-entries List time entries timesheets:read
GET /api/v1/schedule-events List schedule events timesheets:read
GET /api/v1/customers/{id}/notes List a customer's notes notes:read
POST /api/v1/customers/{id}/notes Add a note to a customer notes:write
GET /api/v1/jobs/{id}/notes List a job's notes notes:read
POST /api/v1/jobs/{id}/notes Add a note to a job notes:write
GET /api/v1/jobs/{id}/photos List a job's photos photos:read
GET /api/v1/customers/{id}/photos List a customer's photos photos:read
GET /api/v1/customers/{id}/documents List a customer's documents photos:read
GET /api/v1/equipment List equipment equipment:read
GET /api/v1/equipment/{id} Get a piece of equipment equipment:read
GET /api/v1/availability List open time slots availability:read
POST /api/v1/bookings Book a visit bookings:write
GET /api/v1/maintenance-plans List maintenance plans plans:read
GET /api/v1/maintenance-plans/{id} Get a maintenance plan plans:read
GET /api/v1/maintenance-plan-enrollments List plan enrollments plans:read
POST /api/v1/maintenance-plan-enrollments Enroll a customer in a plan plans:write
GET /api/v1/maintenance-plan-enrollments/{id} Get a plan enrollment plans:read
GET /api/v1/leads List leads leads:read
POST /api/v1/leads Create a lead leads:write
GET /api/v1/leads/{id} Get a lead leads:read
GET /api/v1/webhook-subscriptions List webhook subscriptions webhooks:manage
POST /api/v1/webhook-subscriptions Create a webhook subscription webhooks:manage
PATCH /api/v1/webhook-subscriptions/{id} Update a webhook subscription webhooks:manage
DELETE /api/v1/webhook-subscriptions/{id} Delete a webhook subscription webhooks:manage
GET /api/v1/deleted List deleted records Any valid key
GET /api/v1/me Identify the API key Any valid key

Shared objects#

Returned by every resource. Each resource's own object is described on its page.

Page metadata object#

Field Type Description
page integer
per_page integer
total integer
last_page integer

Error object#

RFC 9457 problem details, plus code, request_id, and the older message / errors members.

Field Type Description
type string Always about:blank; branch on code.
title string
status integer
detail string
code string Stable, machine-readable. New codes may be added.
request_id string (uuid)
message string Same text as detail.
errors object On 422 only. Field name to list of messages.

Copy this page as Markdown

Your browser blocked automatic copying. The complete page is selected below. Press Ctrl+C (Cmd+C on a Mac) to copy it.