See which Data Management operations are currently supported.
/v1/public/deals.
The Expense object is published in the Data Management API under /v1/public/expenses.| Object | List | Retrieve | Create | Update | Delete | Notes |
|---|---|---|---|---|---|---|
Deals (/v1/public/deals) | β | β | β | β | β | Legacy /v1/public/cases aliases may still exist, but the published docs use /deals |
| Companies | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Contacts | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Orders | β | β | β | β | β | Single & bulk create; soft-delete (archives record) |
| Items | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Inventories | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Inventory Transactions | β | β | β | β | β | Soft-delete (archives record) |
| Subscriptions | β | β | β | β | β | Soft-delete (archives record) |
| Estimates | β | β | β | β | β | Soft-delete (archives record) |
| Invoices | β | β | β | β | β | Soft-delete (archives record) |
| Purchase Orders | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
Expenses (/v1/public/expenses) | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Bills | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Disbursements | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Slips | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Payments | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Locations | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Meters | β | β | β | β | β | Upsert by external_id; soft-delete archives the record |
| Workflows | β | β | β | β | β | Upsert by external_id (create/update via POST); GET /v1/public/workflows, POST /v1/public/workflows, GET /v1/public/workflows/actions, GET /v1/public/workflows/{workflow_ref} |
| Reports | β | β | β | β | β | Salesforce-style reportMetadata; delete is soft-delete |
| Properties (Schema) | β | β | β | β | β | Write supported for Orders, Items, Inventories, Inventory Transactions, Subscriptions, Invoices, Estimates, Payments, Purchase Orders, Bills, Disbursements, Slips, Contacts, and Companies. Cases/Locations/Meters are read-only. |
DEAL-2026-0001)Enterprise expansion)companyExternalId, contactExternalId)status, caseStatus)curl -X POST "https://api.sanka.com/v1/public/deals" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"externalId": "DEAL-2026-0001",
"name": "Enterprise expansion",
"status": "open",
"caseStatus": "Qualified",
"currency": "USD",
"companyExternalId": "ACME-001",
"contactExternalId": "CONTACT-100"
}'
On success, the response includes case_id, external_id, status, and ctx_id.case_id to update the record.curl -X PUT "https://api.sanka.com/v1/public/deals/<case_id>" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Enterprise expansion - renewal",
"caseStatus": "Proposal",
"companyExternalId": "ACME-001"
}'
Verify the result with:curl -X GET "https://api.sanka.com/v1/public/deals/<case_id>" \
-H "Authorization: Bearer <access_token>"
curl -X DELETE "https://api.sanka.com/v1/public/deals/<case_id>" \
-H "Authorization: Bearer <access_token>"
Useful follow-up endpoints:GET /v1/public/dealsGET /v1/public/deals/{case_id}GET /v1/public/deals/pipelinesv1 namespace instead of /v1/public/....POST /v1/enrich for company enrichment, including request patterns, dry_run, and force_refreshPOST /v1/score for company and deal scoring, including response fields, curl examples, and deterministic scoring payloads/v1/public/... namespace./v1 namespace.