Offices
List offices
GET/api/v1/offices
The offices of the key's organization, in the key's mode (test or live). An office ID is needed to run an eligibility check. All offices are returned: next_cursor is always null.
Needs a key with read permission.
Request
This request takes no parameters and no body.
Response
The offices. Status 200.
| Name | Type | Description |
|---|---|---|
| data | array of object | |
| data[].id | string | An ID that starts with off_. |
| data[].object | string | Always `office`. |
| data[].name | string | |
| data[].address_line1 | string | |
| data[].address_line2 | value | |
| data[].city | string | |
| data[].state | string | |
| data[].postal_code | string | |
| data[].phone | string | |
| data[].npi | string | |
| data[].tax_id_last4 | string | The last 4 digits of the tax ID. The full tax ID is never returned. |
| data[].specialty | string | |
| data[].contact_name | value | Who the attachment network contacts about this office; null when not given. |
| data[].contact_email | value | |
| data[].contact_fax | value | |
| data[].doctor_first_name | value | The office's primary doctor, for registering with the attachment network. |
| data[].doctor_last_name | value | |
| data[].attachment_network | object | The office's registration with the attachment network, which it needs before its first attachment is sent. |
| data[].attachment_network.state | string | not_registered until POST /offices/{id}/register_attachments succeeds (or the first attachment of the office is closed); failed when the network refused it.One of: `not_registered`, `registered`, `failed`. |
| data[].attachment_network.facility_id | value | The facility ID the attachment network gave the office. |
| data[].attachment_network.registered_at | string (date-time) or null | |
| data[].mode | string | One of: `test`, `live`. |
| data[].created_at | string (date-time) | |
| next_cursor | value | Pass as cursor to get the next page; null when there is no next page. |
Errors
| HTTP status | Code | What it means |
|---|---|---|
| 401 | UNAUTHORIZED | A valid API key is required. Send it as "Authorization: Bearer <key>". |
| 403 | PERMISSION_DENIED | This API key is not allowed to do that. |
| 422 | INVALID_REQUEST | The request is not valid. |
| 504 | TIMEOUT | The request took too long to finish. It may still have taken effect: look it up before sending it again with a new Idempotency-Key. What it made is found with GET /api/v1/eligibility?request_id=<this request_id>, and the same filter on /api/v1/claims and /api/v1/attachments (a key with read permission). |
| 500 | INTERNAL | Something went wrong on our side. Quote the request ID if you contact us. |
Example
Example request
curl "https://sandbox.myclaimhouse.com/api/v1/offices" \
-H "Authorization: Bearer $CLAIMHOUSE_KEY"Example response: 200
{
"data": [
{
"id": "off_01JM000000E008000000000003",
"object": "office",
"name": "Example Family Dental",
"address_line1": "100 Example Street",
"address_line2": null,
"city": "Exampleville",
"state": "GA",
"postal_code": "30000",
"phone": "4045550100",
"npi": "1999999000",
"tax_id_last4": "0000",
"specialty": "general",
"contact_name": "Pat Example",
"contact_email": null,
"contact_fax": null,
"doctor_first_name": "Riley",
"doctor_last_name": "Example",
"attachment_network": {
"state": "not_registered",
"facility_id": null,
"registered_at": null
},
"mode": "test",
"created_at": "2026-01-15T14:00:00+00:00"
}
],
"next_cursor": null
}