Get a contract

Get one contract with its content, field placements, recipients and signing status.

GET https://api.centerfy.ai/webhooks/inbound/contracts/:id

Headers

HeaderRequiredValueDescription
x-api-keyYesyour sub-account API key (cfy_…)Authenticates the request; or use Authorization: Bearer <key>.

Path parameters

NameTypeRequiredDescription
idstring (uuid)YesThe contract id.

Example

curl -X GET "https://api.centerfy.ai/webhooks/inbound/contracts/{id}" \
  -H "x-api-key: $CENTERFY_API_KEY"
import { CenterfyClient } from "@centerfy/sdk";

const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });

const result = await centerfy.contracts.get("<contractId>");
console.log(result);
centerfy contracts get <contractId>

MCP tool: centerfy_contracts_get (see MCP server)

Response

{
  "status": "success",
  "contract": {
    "id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
    "title": "Service agreement — Jamie Rivera",
    "contract_number": "CTR-0042",
    "status": "draft",
    "source_type": "pdf",
    "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
    "template_id": "2e4f6a8b-1c3d-4e5f-9a7b-8c9d0e1f2a3b",
    "sequential_signing": false,
    "has_prepared_pdf": true,
    "has_signed_pdf": false,
    "verification_code": null,
    "expires_at": null,
    "sent_at": null,
    "completed_at": null,
    "declined_at": null,
    "voided_at": null,
    "content": [],
    "fields": [
      {
        "id": "f0e1d2c3-b4a5-4968-8776-655443322110",
        "type": "signature",
        "page": 1,
        "x": 12.5,
        "y": 80,
        "w": 25,
        "h": 6,
        "recipientId": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
        "required": true
      }
    ],
    "recipients": [
      {
        "id": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
        "name": "Jamie Rivera",
        "email": "[email protected]",
        "role": "signer",
        "signing_order": 1,
        "status": "pending",
        "viewed_at": null,
        "signed_at": null,
        "declined_at": null,
        "decline_reason": null
      },
      {
        "id": "8b9c0d1e-2f3a-4b4c-9d5e-6f7a8b9c0d1e",
        "name": "Account manager",
        "email": "",
        "role": "cc",
        "signing_order": 2,
        "status": "pending",
        "viewed_at": null,
        "signed_at": null,
        "declined_at": null,
        "decline_reason": null
      }
    ],
    "created_at": "2026-10-06T10:00:00.000Z",
    "updated_at": "2026-10-06T10:00:00.000Z"
  },
  "ready_to_send": true,
  "blockers": []
}

Errors

  • 404 — if the contract is not in this sub-account.

Notes

ready_to_send and blockers are included only while the contract is a draft. Recipient status is pending, viewed, signed or declined.

© 2026 Centerfy AI. All rights reserved.