Reference · POST /v1/sites
Create site
Create site
Add a new site under a customer you have access to. Requires the sites:write scope on your key. Useful when you onboard a new location and want to reference it in a job request immediately.
Request
curl -X POST -H "Authorization: Bearer fi_pk_…" \
-H "Content-Type: application/json" \
-d '{
"customer": "245715",
"business_name": "Acme Depot — Brand Drive",
"address": "Unit 3/24 Brand Dr, Pimpama QLD 4209",
"first_name": "Jane",
"last_name": "Patel",
"mobile_number": "+61400000000",
"email": "site@acme.example",
"notes": "Roller door access on east side.",
"external_id": "client-site-001"
}' \
https://<host>/v1/sitesResponse
{ "id": "3065756" }Fields
customerrequiredstring
Customer the site belongs to. Must be one of the customer IDs available to your key — fetch valid IDs from /v1/customers. Example: `"customer": "245715"`.
business_namestring
Display name for the site — what staff and field techs see. Brand + location works well for disambiguation. Example: `"Hungry Jacks — Swanston Street"`. ≤ 200 chars.
addressstring
Postal/street address as a free-form string. Example: `"Unit 3/24 Brand Dr, Pimpama QLD 4209"`. ≤ 500 chars.
first_namestring
Primary contact at the site (e.g. site manager). ≤ 100 chars.
last_namestring
≤ 100 chars.
mobile_numberstring
Contact phone in E.164 form is safest, but free-form is accepted. Example: `"+61400000000"`. ≤ 50 chars.
emailstring
Contact email. ≤ 200 chars.
notesstring
Free-form notes about the site — access instructions, parking, gate codes. Visible to field techs. ≤ 2000 chars.
urlstring
Optional URL — e.g. a link to the customer’s portal entry for this site. ≤ 500 chars.
external_idstring
Your own reference for the site — typically a record ID in your system. ≤ 36 chars.
Errors
400 invalid-body400 customer-not-in-scope401 unauthorized429 rate-limited
The new site appears in /v1/sites immediately and can be referenced as `site=` on POST /v1/jobs.