REST API
Build on your
Flexie data.
A standard REST API over everything in your workspace: contacts, leads, deals, cases, tasks, and your own custom records. Predictable URLs, API-key auth, and JSON in and out, with 142 endpoints across 15 resource groups.
OpenAPI 1.0.1 (Swagger 2.0). Import it into Postman, Insomnia, or your own client.
Quickstart
Your first request, in a minute.
Every workspace has its own API host. Send your key with each request and you're talking to your live data.
Base URL
https://your-subdomain.flexie.io/api
Your API URL is your subdomain, then /api/, then the endpoint, for example /api/leads.
Authentication
Send your key in the apikey header, or as an ?apikey= query parameter. Your key lives in your account settings, under API Settings. Prefer OAuth 2.0? That's supported too.
curl https://your-subdomain.flexie.io/api/contacts \
-H "apikey: YOUR_API_KEY"curl -X POST https://your-subdomain.flexie.io/api/contacts/new \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"firstname": "Jane",
"lastname": "Doe",
"email": "jane@acme.com"
}'Every response is JSON, including errors.
Conventions
Predictable by design.
Resource URLs
Each resource has a clean path. List at /api/contacts, fetch one at /api/contacts/{id}.
Standard verbs
GET to read, POST to create, PUT to update, DELETE to remove.
JSON everywhere
Requests and responses are JSON, and so are errors, so you can parse one shape every time.
Status codes
- 200
- Request succeeded.
- 204
- Succeeded with nothing to return (e.g. a delete).
- 400
- Bad request: something in the input was malformed.
- 404
- No record matched the request.
- 500
- Something went wrong on our side.
Endpoint reference
142 endpoints, grouped by what they touch.
Click any endpoint for a copy-ready request example. Field names are the default set, so an account with custom fields will use its own aliases. Download the OpenAPI spec for full response schemas.
Contact
People you do business with, plus contact lists and segmentation.
GET/api/contact/listsFilter Contact Lists
curl "https://your-subdomain.flexie.io/api/contact/lists" \
-H "apikey: YOUR_API_KEY"POST/api/contact/lists/{id}/add/{entityId}Add a contact to a list
curl -X POST "https://your-subdomain.flexie.io/api/contact/lists/42/add/17" \
-H "apikey: YOUR_API_KEY"POST/api/contact/lists/{id}/remove/{entityId}Remove a contact from a list
curl -X POST "https://your-subdomain.flexie.io/api/contact/lists/42/remove/17" \
-H "apikey: YOUR_API_KEY"GET/api/contactsList Contacts
curl "https://your-subdomain.flexie.io/api/contacts?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/contactsList Contacts
curl -X POST "https://your-subdomain.flexie.io/api/contacts" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/contacts/{id}Get Contact
curl "https://your-subdomain.flexie.io/api/contacts/42" \
-H "apikey: YOUR_API_KEY"PUT/api/contacts/{id}Update Contact
curl -X PUT "https://your-subdomain.flexie.io/api/contacts/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "david.okafor@example.com",
"company": "Bluewave Logistics Ltd",
"city": "Manchester",
"status": "Nurture",
"source": "Referral"
}'DELETE/api/contacts/{id}Delete Contact
curl -X DELETE "https://your-subdomain.flexie.io/api/contacts/42" \
-H "apikey: YOUR_API_KEY"GET/api/contacts/{id}/listsGet Contact Lists
curl "https://your-subdomain.flexie.io/api/contacts/42/lists" \
-H "apikey: YOUR_API_KEY"GET/api/contacts/{id}/notesGet Contact Notes
curl "https://your-subdomain.flexie.io/api/contacts/42/notes" \
-H "apikey: YOUR_API_KEY"GET/api/contacts/{id}/workflowsGet Contact Workflows
curl "https://your-subdomain.flexie.io/api/contacts/42/workflows" \
-H "apikey: YOUR_API_KEY"PUT/api/contacts/editUpdate Contact By Unique Field
curl -X PUT "https://your-subdomain.flexie.io/api/contacts/edit" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "david.okafor@example.com",
"company": "Bluewave Logistics Ltd",
"city": "Manchester",
"status": "Nurture",
"source": "Referral"
}'GET/api/contacts/list/fieldsList Contact Fields
curl "https://your-subdomain.flexie.io/api/contacts/list/fields" \
-H "apikey: YOUR_API_KEY"GET/api/contacts/list/fields/categoriesList Contact Field Categories
curl "https://your-subdomain.flexie.io/api/contacts/list/fields/categories" \
-H "apikey: YOUR_API_KEY"GET/api/contacts/list/listsList Contact Lists
curl "https://your-subdomain.flexie.io/api/contacts/list/lists" \
-H "apikey: YOUR_API_KEY"POST/api/contacts/newCreate Contact
curl -X POST "https://your-subdomain.flexie.io/api/contacts/new" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Ms.",
"first_name": "David",
"last_name": "Okafor",
"email": "david.okafor@example.com",
"phone": "+442071838750",
"company": "Bluewave Logistics",
"city": "London",
"country": "United Kingdom",
"status": "New",
"source": "Meeting"
}'Lead
Inbound and outbound leads, from capture through qualification.
GET/api/lead/listsFilter Lead Lists
curl "https://your-subdomain.flexie.io/api/lead/lists" \
-H "apikey: YOUR_API_KEY"POST/api/lead/lists/{id}/add/{entityId}Add a lead to a list
curl -X POST "https://your-subdomain.flexie.io/api/lead/lists/42/add/17" \
-H "apikey: YOUR_API_KEY"POST/api/lead/lists/{id}/remove/{entityId}Remove a lead from a list
curl -X POST "https://your-subdomain.flexie.io/api/lead/lists/42/remove/17" \
-H "apikey: YOUR_API_KEY"GET/api/leadsList Leads
curl "https://your-subdomain.flexie.io/api/leads?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/leadsList Leads
curl -X POST "https://your-subdomain.flexie.io/api/leads" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/leads/{id}Get Lead
curl "https://your-subdomain.flexie.io/api/leads/42" \
-H "apikey: YOUR_API_KEY"PUT/api/leads/{id}Update Lead
curl -X PUT "https://your-subdomain.flexie.io/api/leads/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "maria.hernandez@example.com",
"company": "Northwind Trading LLC",
"city": "Dallas",
"status": "Qualify",
"source": "Referral"
}'DELETE/api/leads/{id}Delete Lead
curl -X DELETE "https://your-subdomain.flexie.io/api/leads/42" \
-H "apikey: YOUR_API_KEY"GET/api/leads/{id}/listsGet Lead Lists
curl "https://your-subdomain.flexie.io/api/leads/42/lists" \
-H "apikey: YOUR_API_KEY"GET/api/leads/{id}/notesGet Lead Notes
curl "https://your-subdomain.flexie.io/api/leads/42/notes" \
-H "apikey: YOUR_API_KEY"GET/api/leads/{id}/workflowsGet Lead Workflows
curl "https://your-subdomain.flexie.io/api/leads/42/workflows" \
-H "apikey: YOUR_API_KEY"PUT/api/leads/editUpdate Lead By Unique FIeld
curl -X PUT "https://your-subdomain.flexie.io/api/leads/edit" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "maria.hernandez@example.com",
"company": "Northwind Trading LLC",
"city": "Dallas",
"status": "Qualify",
"source": "Referral"
}'GET/api/leads/list/fieldsList Lead Fields
curl "https://your-subdomain.flexie.io/api/leads/list/fields" \
-H "apikey: YOUR_API_KEY"GET/api/leads/list/fields/categoriesList Lead Field Categories
curl "https://your-subdomain.flexie.io/api/leads/list/fields/categories" \
-H "apikey: YOUR_API_KEY"GET/api/leads/list/listsList Lead Lists
curl "https://your-subdomain.flexie.io/api/leads/list/lists" \
-H "apikey: YOUR_API_KEY"POST/api/leads/newCreate Lead
curl -X POST "https://your-subdomain.flexie.io/api/leads/new" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Mr.",
"first_name": "Maria",
"last_name": "Hernandez",
"email": "maria.hernandez@example.com",
"phone": "+15125550148",
"company": "Northwind Trading",
"city": "Austin",
"state": "TX",
"country": "United States",
"status": "New",
"source": "Website"
}'Accounts
Companies and organizations, with their related records.
GET/api/account/listsFilter Account Lists
curl "https://your-subdomain.flexie.io/api/account/lists" \
-H "apikey: YOUR_API_KEY"POST/api/account/lists/{id}/add/{entityId}Add an account to a list
curl -X POST "https://your-subdomain.flexie.io/api/account/lists/42/add/17" \
-H "apikey: YOUR_API_KEY"POST/api/account/lists/{id}/remove/{entityId}Remove an account from a list
curl -X POST "https://your-subdomain.flexie.io/api/account/lists/42/remove/17" \
-H "apikey: YOUR_API_KEY"GET/api/accountsList Accounts
curl "https://your-subdomain.flexie.io/api/accounts?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/accountsList Accounts
curl -X POST "https://your-subdomain.flexie.io/api/accounts" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/accounts/{id}Get Account
curl "https://your-subdomain.flexie.io/api/accounts/42" \
-H "apikey: YOUR_API_KEY"PUT/api/accounts/{id}Update Account
curl -X PUT "https://your-subdomain.flexie.io/api/accounts/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Northwind Trading LLC",
"status": "Qualify",
"annual_revenue": 5200000,
"employees": 145
}'DELETE/api/accounts/{id}Delete Account
curl -X DELETE "https://your-subdomain.flexie.io/api/accounts/42" \
-H "apikey: YOUR_API_KEY"GET/api/accounts/{id}/listsGet Account Lists
curl "https://your-subdomain.flexie.io/api/accounts/42/lists" \
-H "apikey: YOUR_API_KEY"GET/api/accounts/{id}/notesGet Account Notes
curl "https://your-subdomain.flexie.io/api/accounts/42/notes" \
-H "apikey: YOUR_API_KEY"GET/api/accounts/{id}/workflowsGet Account Workflows
curl "https://your-subdomain.flexie.io/api/accounts/42/workflows" \
-H "apikey: YOUR_API_KEY"PUT/api/accounts/editUpdate Account By Unique FIeld
curl -X PUT "https://your-subdomain.flexie.io/api/accounts/edit" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Northwind Trading LLC",
"status": "Qualify",
"annual_revenue": 5200000,
"employees": 145
}'GET/api/accounts/list/fieldsList Account Fields
curl "https://your-subdomain.flexie.io/api/accounts/list/fields" \
-H "apikey: YOUR_API_KEY"GET/api/accounts/list/fields/categoriesList Account Field Categories
curl "https://your-subdomain.flexie.io/api/accounts/list/fields/categories" \
-H "apikey: YOUR_API_KEY"GET/api/accounts/list/listsList Account Lists
curl "https://your-subdomain.flexie.io/api/accounts/list/lists" \
-H "apikey: YOUR_API_KEY"POST/api/accounts/newCreate Account
curl -X POST "https://your-subdomain.flexie.io/api/accounts/new" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Northwind Trading LLC",
"status": "New",
"email": "info@northwindtrading.com",
"website": "https://www.northwindtrading.com",
"phone": "+15125550100",
"industry": "Retail",
"annual_revenue": 4500000,
"vat_number": "GB123456789",
"employees": 120,
"billing_city": "Austin",
"billing_country": "United States"
}'Deals
Opportunities moving through your sales pipelines.
GET/api/deal/listsFilter Deal Lists
curl "https://your-subdomain.flexie.io/api/deal/lists" \
-H "apikey: YOUR_API_KEY"POST/api/deal/lists/{id}/add/{entityId}Add a deal to a list
curl -X POST "https://your-subdomain.flexie.io/api/deal/lists/42/add/17" \
-H "apikey: YOUR_API_KEY"POST/api/deal/lists/{id}/remove/{entityId}Remove a deal from a list
curl -X POST "https://your-subdomain.flexie.io/api/deal/lists/42/remove/17" \
-H "apikey: YOUR_API_KEY"GET/api/dealsList Deals
curl "https://your-subdomain.flexie.io/api/deals?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/dealsList Deals
curl -X POST "https://your-subdomain.flexie.io/api/deals" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/deals/{id}Get Deal
curl "https://your-subdomain.flexie.io/api/deals/42" \
-H "apikey: YOUR_API_KEY"PUT/api/deals/{id}Update Deal
curl -X PUT "https://your-subdomain.flexie.io/api/deals/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Enterprise license renewal",
"amount": 15000,
"close_date": "2026-10-15",
"stage_id": 3
}'DELETE/api/deals/{id}Delete Deal
curl -X DELETE "https://your-subdomain.flexie.io/api/deals/42" \
-H "apikey: YOUR_API_KEY"GET/api/deals/{id}/listsGet Deal Lists
curl "https://your-subdomain.flexie.io/api/deals/42/lists" \
-H "apikey: YOUR_API_KEY"GET/api/deals/{id}/notesGet Deal Notes
curl "https://your-subdomain.flexie.io/api/deals/42/notes" \
-H "apikey: YOUR_API_KEY"GET/api/deals/{id}/workflowsGet Deal Workflows
curl "https://your-subdomain.flexie.io/api/deals/42/workflows" \
-H "apikey: YOUR_API_KEY"PUT/api/deals/editUpdate Deal By Unique FIeld
curl -X PUT "https://your-subdomain.flexie.io/api/deals/edit" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Enterprise license renewal",
"amount": 15000,
"close_date": "2026-10-15",
"stage_id": 3
}'GET/api/deals/list/fieldsList Deal Fields
curl "https://your-subdomain.flexie.io/api/deals/list/fields" \
-H "apikey: YOUR_API_KEY"GET/api/deals/list/fields/categoriesList Deal Field Categories
curl "https://your-subdomain.flexie.io/api/deals/list/fields/categories" \
-H "apikey: YOUR_API_KEY"GET/api/deals/list/listsList Deal Lists
curl "https://your-subdomain.flexie.io/api/deals/list/lists" \
-H "apikey: YOUR_API_KEY"POST/api/deals/newCreate Deal
curl -X POST "https://your-subdomain.flexie.io/api/deals/new" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Enterprise license renewal",
"amount": 12500,
"close_date": "2026-09-30",
"pipeline_id": 1,
"stage_id": 2,
"owner_id": 3
}'Cases
Support tickets and service requests, end to end.
GET/api/case/listsFilter Case Lists
curl "https://your-subdomain.flexie.io/api/case/lists" \
-H "apikey: YOUR_API_KEY"POST/api/case/lists/{id}/add/{entityId}Add a case to a list
curl -X POST "https://your-subdomain.flexie.io/api/case/lists/42/add/17" \
-H "apikey: YOUR_API_KEY"POST/api/case/lists/{id}/remove/{entityId}Remove a case from a list
curl -X POST "https://your-subdomain.flexie.io/api/case/lists/42/remove/17" \
-H "apikey: YOUR_API_KEY"GET/api/casesList Cases
curl "https://your-subdomain.flexie.io/api/cases?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/casesList Cases
curl -X POST "https://your-subdomain.flexie.io/api/cases" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/cases/{id}Get Case
curl "https://your-subdomain.flexie.io/api/cases/42" \
-H "apikey: YOUR_API_KEY"PUT/api/cases/{id}Update Case
curl -X PUT "https://your-subdomain.flexie.io/api/cases/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Login page returns 500 error",
"priority": "Medium",
"public_status": "In Process",
"internalStatus": "open"
}'DELETE/api/cases/{id}Delete Case
curl -X DELETE "https://your-subdomain.flexie.io/api/cases/42" \
-H "apikey: YOUR_API_KEY"GET/api/cases/{id}/listsGet Case Lists
curl "https://your-subdomain.flexie.io/api/cases/42/lists" \
-H "apikey: YOUR_API_KEY"GET/api/cases/{id}/notesGet Case Notes
curl "https://your-subdomain.flexie.io/api/cases/42/notes" \
-H "apikey: YOUR_API_KEY"GET/api/cases/{id}/repliesGet Case Replies
curl "https://your-subdomain.flexie.io/api/cases/42/replies" \
-H "apikey: YOUR_API_KEY"POST/api/cases/{id}/repliesAdd Case Reply
curl -X POST "https://your-subdomain.flexie.io/api/cases/42/replies" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Thanks for reaching out. We have reset your account, so you should be able to log in now."
}'GET/api/cases/{id}/workflowsGet Case Workflows
curl "https://your-subdomain.flexie.io/api/cases/42/workflows" \
-H "apikey: YOUR_API_KEY"PUT/api/cases/editUpdate Case By Unique Field
curl -X PUT "https://your-subdomain.flexie.io/api/cases/edit" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Login page returns 500 error",
"priority": "Medium",
"public_status": "In Process",
"internalStatus": "open"
}'GET/api/cases/list/fieldsList Case Fields
curl "https://your-subdomain.flexie.io/api/cases/list/fields" \
-H "apikey: YOUR_API_KEY"GET/api/cases/list/fields/categoriesList Case Field Categories
curl "https://your-subdomain.flexie.io/api/cases/list/fields/categories" \
-H "apikey: YOUR_API_KEY"GET/api/cases/list/listsList Case Lists
curl "https://your-subdomain.flexie.io/api/cases/list/lists" \
-H "apikey: YOUR_API_KEY"POST/api/cases/newCreate Case
curl -X POST "https://your-subdomain.flexie.io/api/cases/new" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Login page returns 500 error",
"source": "Email",
"category": "Bug",
"priority": "High",
"public_status": "New Opened",
"internalStatus": "open",
"owner_id": 3
}'GET/api/cases/replies/{identifier}Get Case Replies By Identifier
curl "https://your-subdomain.flexie.io/api/cases/replies/REF-1042" \
-H "apikey: YOUR_API_KEY"POST/api/cases/replies/{identifier}Add Case Reply By Identifier
curl -X POST "https://your-subdomain.flexie.io/api/cases/replies/REF-1042" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template_id": 3
}'Tasks
To-dos and activities assigned across your team.
GET/api/tasksList Tasks
curl "https://your-subdomain.flexie.io/api/tasks?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/tasksList Tasks Filtered
curl -X POST "https://your-subdomain.flexie.io/api/tasks" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/tasks/{id}Get Task
curl "https://your-subdomain.flexie.io/api/tasks/42" \
-H "apikey: YOUR_API_KEY"PUT/api/tasks/{id}Update Task
curl -X PUT "https://your-subdomain.flexie.io/api/tasks/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task": "Call the customer to confirm renewal terms (rescheduled)",
"due_date": "2026-06-26 10:00",
"is_completed": false
}'DELETE/api/tasks/{id}Delete Task
curl -X DELETE "https://your-subdomain.flexie.io/api/tasks/42" \
-H "apikey: YOUR_API_KEY"POST/api/tasks/{id}/completeComplete Task
curl -X POST "https://your-subdomain.flexie.io/api/tasks/42/complete" \
-H "apikey: YOUR_API_KEY"POST/api/tasks/{id}/incompleteIncomplete Task
curl -X POST "https://your-subdomain.flexie.io/api/tasks/42/incomplete" \
-H "apikey: YOUR_API_KEY"GET/api/tasks/list/categoriesList Task Categories
curl "https://your-subdomain.flexie.io/api/tasks/list/categories" \
-H "apikey: YOUR_API_KEY"POST/api/tasks/newCreate Task
curl -X POST "https://your-subdomain.flexie.io/api/tasks/new" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task": "Call the customer to confirm renewal terms",
"owner_id": 3,
"due_date": "2026-06-25 14:00",
"association_type": "contact",
"association_id": 47,
"reminder_type": "email",
"remind_minutes": 30
}'Notes
Free-form notes attached to any record.
POST/api/notes/{entityType}/{entityId}Create Note
curl -X POST "https://your-subdomain.flexie.io/api/notes/contact/17" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Discussed renewal terms and next steps with the customer.",
"type": "call",
"datetime": "2026-06-23T14:00:00+00:00"
}'GET/api/notes/{id}Get Note
curl "https://your-subdomain.flexie.io/api/notes/42" \
-H "apikey: YOUR_API_KEY"PUT/api/notes/{id}Update Note
curl -X PUT "https://your-subdomain.flexie.io/api/notes/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Updated: renewal confirmed, contract sent for signature.",
"type": "meeting"
}'DELETE/api/notes/{id}Delete Note
curl -X DELETE "https://your-subdomain.flexie.io/api/notes/42" \
-H "apikey: YOUR_API_KEY"Emails
Email messages tied to your contacts and deals.
GET/api/emailsList Emails
curl "https://your-subdomain.flexie.io/api/emails?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/emailsList Emails Filtered
curl -X POST "https://your-subdomain.flexie.io/api/emails" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/emails/{id}Get Email
curl "https://your-subdomain.flexie.io/api/emails/42" \
-H "apikey: YOUR_API_KEY"POST/api/emails/{id}/sendSend Email
curl -X POST "https://your-subdomain.flexie.io/api/emails/42/send" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"limit": 100
}'Custom entities
Your own record types, modeled to fit your business.
GET/api/ce/{tableName}List Custom Entities
curl "https://your-subdomain.flexie.io/api/ce/your_table" \
-H "apikey: YOUR_API_KEY"POST/api/ce/{tableName}List Custom Entities
curl -X POST "https://your-subdomain.flexie.io/api/ce/your_table" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/ce/{tableName}/{id}Get Custom Entity
curl "https://your-subdomain.flexie.io/api/ce/your_table/42" \
-H "apikey: YOUR_API_KEY"PUT/api/ce/{tableName}/{id}Update Custom Entity
curl -X PUT "https://your-subdomain.flexie.io/api/ce/your_table/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Renewal 2026 (revised)",
"status": "won",
"amount": 5200
}'DELETE/api/ce/{tableName}/{id}Delete Custom Entity
curl -X DELETE "https://your-subdomain.flexie.io/api/ce/your_table/42" \
-H "apikey: YOUR_API_KEY"GET/api/ce/{tableName}/{id}/listsGet Custom Entity Lists
curl "https://your-subdomain.flexie.io/api/ce/your_table/42/lists" \
-H "apikey: YOUR_API_KEY"GET/api/ce/{tableName}/{id}/notesGet Custom Entity Notes
curl "https://your-subdomain.flexie.io/api/ce/your_table/42/notes" \
-H "apikey: YOUR_API_KEY"GET/api/ce/{tableName}/{id}/workflowsGet Custom Entity Workflows
curl "https://your-subdomain.flexie.io/api/ce/your_table/42/workflows" \
-H "apikey: YOUR_API_KEY"PUT/api/ce/{tableName}/editUpdate Custom Entity By Unique Field
curl -X PUT "https://your-subdomain.flexie.io/api/ce/your_table/edit" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Renewal 2026 (revised)",
"status": "won",
"amount": 5200
}'GET/api/ce/{tableName}/list/fieldsList Custom Entity Fields
curl "https://your-subdomain.flexie.io/api/ce/your_table/list/fields" \
-H "apikey: YOUR_API_KEY"GET/api/ce/{tableName}/list/fields/categoriesList Custom Entity Field Categories
curl "https://your-subdomain.flexie.io/api/ce/your_table/list/fields/categories" \
-H "apikey: YOUR_API_KEY"GET/api/ce/{tableName}/list/listsList Custom Entity Lists
curl "https://your-subdomain.flexie.io/api/ce/your_table/list/lists" \
-H "apikey: YOUR_API_KEY"GET/api/ce/{tableName}/listsFilter Custom Entity Lists
curl "https://your-subdomain.flexie.io/api/ce/your_table/lists" \
-H "apikey: YOUR_API_KEY"POST/api/ce/{tableName}/lists/{id}/add/{entityId}Add a record to a list
curl -X POST "https://your-subdomain.flexie.io/api/ce/your_table/lists/42/add/17" \
-H "apikey: YOUR_API_KEY"POST/api/ce/{tableName}/lists/{id}/remove/{entityId}Remove a record from a list
curl -X POST "https://your-subdomain.flexie.io/api/ce/your_table/lists/42/remove/17" \
-H "apikey: YOUR_API_KEY"POST/api/ce/{tableName}/newCreate Custom Entity
curl -X POST "https://your-subdomain.flexie.io/api/ce/your_table/new" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Renewal 2026",
"status": "open",
"amount": 4500
}'Workflows
Trigger and manage automation from the outside.
GET/api/workflowsList Workflows
curl "https://your-subdomain.flexie.io/api/workflows?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/workflowsList Workflows Filtered
curl -X POST "https://your-subdomain.flexie.io/api/workflows" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/workflows/{id}Get Workflow
curl "https://your-subdomain.flexie.io/api/workflows/42" \
-H "apikey: YOUR_API_KEY"PUT/api/workflows/{id}Update Workflow
curl -X PUT "https://your-subdomain.flexie.io/api/workflows/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "VIP lead onboarding",
"description": "Send a welcome sequence to new VIP leads",
"category": 12,
"isPublished": true,
"runtime": "async"
}'DELETE/api/workflows/{id}Delete Workflow
curl -X DELETE "https://your-subdomain.flexie.io/api/workflows/42" \
-H "apikey: YOUR_API_KEY"GET/api/workflows/list/categoriesList Workflow Categories
curl "https://your-subdomain.flexie.io/api/workflows/list/categories" \
-H "apikey: YOUR_API_KEY"Forms
The forms that capture data into Flexie.
GET/api/formsList Forms
curl "https://your-subdomain.flexie.io/api/forms?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"GET/api/forms/{id}Get Form
curl "https://your-subdomain.flexie.io/api/forms/42" \
-H "apikey: YOUR_API_KEY"Pages
Landing pages served by Flexie.
GET/api/pagesList Pages
curl "https://your-subdomain.flexie.io/api/pages?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/pagesList Pages Filtered
curl -X POST "https://your-subdomain.flexie.io/api/pages" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/pages/{id}Get Page
curl "https://your-subdomain.flexie.io/api/pages/42" \
-H "apikey: YOUR_API_KEY"Reports
Saved reports and the data behind them.
GET/api/reportsList Reports
curl "https://your-subdomain.flexie.io/api/reports?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/reportsList Reports Filtered
curl -X POST "https://your-subdomain.flexie.io/api/reports" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/reports/{id}Get Report
curl "https://your-subdomain.flexie.io/api/reports/42" \
-H "apikey: YOUR_API_KEY"Users
The people in your Flexie workspace.
GET/api/usersList Users
curl "https://your-subdomain.flexie.io/api/users?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/usersList Users Filtered
curl -X POST "https://your-subdomain.flexie.io/api/users" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/users/{id}Get User
curl "https://your-subdomain.flexie.io/api/users/42" \
-H "apikey: YOUR_API_KEY"PUT/api/users/{id}Update User
curl -X PUT "https://your-subdomain.flexie.io/api/users/42" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"firstName": "John",
"lastName": "Doe",
"position": "Senior Sales Manager",
"role": 3,
"isPublished": true
}'DELETE/api/users/{id}Delete User
curl -X DELETE "https://your-subdomain.flexie.io/api/users/42" \
-H "apikey: YOUR_API_KEY"POST/api/users/{id}/permissionCheck Permission
curl -X POST "https://your-subdomain.flexie.io/api/users/42/permission" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"permissions": [
"lead:leads:viewown",
"lead:leads:editown"
]
}'POST/api/users/newCreate User
curl -X POST "https://your-subdomain.flexie.io/api/users/new" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"username": "jdoe",
"firstName": "John",
"lastName": "Doe",
"email": "jdoe@example.com",
"password": "S3cretPass!",
"position": "Sales Manager",
"timezone": "America/New_York",
"locale": "en_US",
"role": 3,
"isPublished": true
}'GET/api/users/selfGet Self
curl "https://your-subdomain.flexie.io/api/users/self" \
-H "apikey: YOUR_API_KEY"Roles
Permission roles that govern who can do what.
GET/api/rolesList Roles
curl "https://your-subdomain.flexie.io/api/roles?limit=30&search=acme" \
-H "apikey: YOUR_API_KEY"POST/api/rolesList Roles Filtered
curl -X POST "https://your-subdomain.flexie.io/api/roles" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"type": "text",
"alias": "email",
"value": {
"operator": "like",
"input": "acme.com"
},
"strict": false,
"starts": false,
"ends": false
}
],
"start": 0,
"limit": 30,
"orderBy": "date_modified",
"orderByDir": "DESC"
}'GET/api/roles/{id}Get Role
curl "https://your-subdomain.flexie.io/api/roles/42" \
-H "apikey: YOUR_API_KEY"OpenAPI spec
Download flexie-api.json and import it into Postman, Insomnia, or generate a client.
Integrations & MCP
Webhooks, native integrations, and an MCP server so AI tools can read and write your data directly.
See integrations →Talk to us
Building something on the API and want a hand? Tell us what you're wiring up and we'll help.
Get in touch →