API reference
10 operations in clients. Raw spec: openapi.json.
GET
/api/v1/clientsGET /api/clients
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/clientsPOST /api/clients — instant-first (IF1/IF2): idempotency-keyed and returns the read-your-write `mutation` metadata.
Request body
CreateClientRequest
Responses
| Status | Description |
|---|---|
200 | |
409 | idempotency key reused |
Security: bearer
GET
/api/v1/clients/{id}GET /api/clients/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
GET
/api/v1/clients/{id}/assetsGET /api/clients/{id}/assets
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/clients/{id}/assetsPOST /api/clients/{id}/assets
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Request body
CreateAssetRequest
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
GET
/api/v1/clients/{id}/completenessGET /api/clients/{id}/completeness — backend documentation-completeness scoring (Wave 17 lane 13): the weights live SERVER-side now, replacing the honest client-side metadata scoring the clients lane shipped. Same shape, same pro-ration doctrine: score = round(earned / maxKnown × 100) with null legs (leg absent) pro-rated OUT, never a silent zero.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
200 | |
404 | client not visible in scope |
Security: bearer
GET
/api/v1/clients/{id}/contactsGET /api/clients/{id}/contacts
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/clients/{id}/contactsPOST /api/clients/{id}/contacts
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Request body
CreateContactRequest
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
GET
/api/v1/clients/{id}/sitesGET /api/clients/{id}/sites
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/clients/{id}/sitesPOST /api/clients/{id}/sites
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Request body
CreateSiteRequest
Responses
| Status | Description |
|---|---|
200 |
Security: bearer