Client Documents
Read-only access to proposals and smart-files — the composer-built documents your clients view, sign, and pay. A client document has a kind (smart-file), a title, a status, and links to its contact, client, and project. They're assembled in the dashboard composer from blocks, so the v1 API exposes them read-only.
Client documents are the proposals and smart-files you build in the Forms & Agreements composer — the documents your clients view, sign, and pay against. Each one is assembled from blocks in the dashboard, so the v1 API exposes them read-only; there are no write operations.
What's exposed: kind (currently always smart-file), title, status, the linked contactId / clientId / projectId, and lifecycle fields. The status moves through draft → sent → viewed → in_progress → accepted → completed, plus the terminal expired and void. When an accepted proposal converts to active work, engagementProjectId points at the project that conversion created and quoteConvertedAt records when the Quote was turned into billing instruments. clientUrl is the public client link (/d/{token}), present once the document has been minted.
Templates are excluded. Reusable starting points (isTemplate) are filtered out of the list and return 404 by id — they're authoring scaffolding, not real client documents.
Filter the list by status, clientId, or contactId. Requires the client-documents:read scope.
In: header
Query Parameters
11 <= value251 <= value <= 100"draft" | "sent" | "viewed" | "in_progress" | "accepted" | "completed" | "expired" | "void"UUID v4
uuidUUID v4
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://www.clientcasa.com/api/v1/client-documents"{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"kind": "smart-file",
"title": "string",
"status": "draft",
"contactId": "550e8400-e29b-41d4-a716-446655440000",
"clientId": "550e8400-e29b-41d4-a716-446655440000",
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"engagementProjectId": "550e8400-e29b-41d4-a716-446655440000",
"isTemplate": true,
"clientUrl": "string",
"quoteConvertedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
],
"pagination": {
"page": 1,
"pageSize": 1,
"total": 0,
"totalPages": 0,
"hasMore": true
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}In: header
Path Parameters
UUID v4
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://www.clientcasa.com/api/v1/client-documents/550e8400-e29b-41d4-a716-446655440000"{
"id": "550e8400-e29b-41d4-a716-446655440000",
"kind": "smart-file",
"title": "string",
"status": "draft",
"contactId": "550e8400-e29b-41d4-a716-446655440000",
"clientId": "550e8400-e29b-41d4-a716-446655440000",
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"engagementProjectId": "550e8400-e29b-41d4-a716-446655440000",
"isTemplate": true,
"clientUrl": "string",
"quoteConvertedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"details": {
"property1": null,
"property2": null
}
}
}