Workspace APIv1
Workspace API
Programmatically read and write your Staffify workspace data: CRM contacts, companies, deals, plus real-time webhooks. REST + Bearer auth, OpenAI/Stripe-compatible response shapes.
Base URL
https://app.staffifyai.com/api/workspace/v1All endpoints are HTTPS-only. Every request must include a Bearer token in the Authorization header. See Authentication.
Request bodies are capped at 1 MB. Larger payloads are rejected with 413 REQUEST_TOO_LARGE.
Quick start
Create an API key in Settings → Developer → API keys, then hit any endpoint:
curl https://app.staffifyai.com/api/workspace/v1/contacts \ -H "Authorization: Bearer sfy_wsp_live_YOUR_KEY"
Response shape
Single-resource responses wrap the resource with a object discriminator. List responses use object: "list" with cursor pagination.
// GET /api/workspace/v1/contacts/123
{
"object": "contact",
"id": 123,
"email": "[email protected]",
"first_name": "Jan",
...
"meta": { "request_id": "b28f..." }
}
// GET /api/workspace/v1/contacts
{
"object": "list",
"data": [ { "object": "contact", "id": 123, ... }, ... ],
"has_more": true,
"next_cursor": "122",
"meta": { "request_id": "c17d..." }
}Guides
Authentication
Bearer tokens using sfy_wsp_live_ keys. How to create, rotate and revoke.
Scopes
Coarse module-level permissions. crm.contacts.read, crm.deals.write, and meta-scopes.
Rate limits
Per-key burst + sustained caps, headers, retry semantics.
Pagination
Cursor-based list responses via limit + starting_after.
Idempotency
Use Idempotency-Key on POST/PATCH to safely retry without duplicating.
Errors
Uniform error envelope, all status codes, common error codes.
Webhooks
Receive events in real-time. HMAC-SHA256 signing, retries, replay-tolerance.
Resources
Contacts
CRM contacts CRUD
Companies
CRM companies CRUD
Deals
CRM deals CRUD with pipeline + stage support
Quotes
Sales quotes with lines + VAT and send/cancel state transitions
Invoices
Sales invoices with send/mark-paid/void/credit-note/reminder flows
Products
Sales product catalog — line-item source for quotes + invoices
Bookings
Advanced Booking entries with status state-machine
Booking customers
Advanced Booking customer records (separate from CRM contacts)
Tasks
CRM tasks / follow-up reminders with priorities and completion tracking
Notes
Polymorphic CRM notes attached to contacts, deals, or companies
Segments
Static + smart CRM segments; membership CRUD for static segments
OpenAPI spec
Machine-readable spec for code generation. Point Stainless, OpenAPI Generator, or your preferred tool at:
https://docs.staffifyai.com/openapi/workspace-api.yaml