Automation
Integrations & API
Let your team and the Zapia AI agent read and change the same live data the dashboard shows — over a simple, authenticated HTTP API.
API needs a key
Set a ZAPIA_API_KEY environment variable for this site to switch the API on. Until then every request is safely rejected.
Built for agents
Zapia (or any tool) drives the CRM through plain JSON requests.
Key-protected
Every call must carry the shared secret. No key, no access.
Always in sync
API changes and team edits share one database and feed the same charts.
Authentication
Send the key on every request using either header:
Authorization: Bearer YOUR_ZAPIA_API_KEY X-API-Key: YOUR_ZAPIA_API_KEY
Endpoints
| GET | /api/contacts | List every contact. |
| POST | /api/contacts | Create a contact. |
| PATCH | /api/contacts/:id | Update a contact (name, status, owner, …). |
| DELETE | /api/contacts/:id | Remove a contact. |
| GET | /api/deals | List every deal. |
| POST | /api/deals | Open a new deal. |
| PATCH | /api/deals/:id | Update a deal (stage, value, …). |
| DELETE | /api/deals/:id | Remove a deal. |
| GET | /api/activities | List the latest logged activity. |
| POST | /api/activities | Log a touchpoint. |
Example: add a lead
A request Zapia might send when it captures a new inbound lead:
curl -X POST "$SITE_URL/api/contacts" \
-H "Authorization: Bearer $ZAPIA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Marion Delacroix",
"email": "marion@fabrikat.com",
"company": "Fabrikat",
"status": "lead",
"owner": "Dana Whitlock"
}'Valid contact statuses: lead · prospect · customer · churned. Valid deal stages: lead · qualified · proposal · negotiation · won · lost.