ClientCasa
API

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.

GET
/api/v1/client-documents
x-api-key<token>

In: header

Query Parameters

page?integer
Default1
Range1 <= value
pageSize?integer
Default25
Range1 <= value <= 100
status?string
Value in"draft" | "sent" | "viewed" | "in_progress" | "accepted" | "completed" | "expired" | "void"
clientId?string

UUID v4

Formatuuid
contactId?string

UUID v4

Formatuuid

Response 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
    }
  }
}
GET
/api/v1/client-documents/{id}
x-api-key<token>

In: header

Path Parameters

id*string

UUID v4

Formatuuid

Response 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
    }
  }
}