Sendatradie Zapier Integration — API Reference
The endpoints powering the Sendatradie Zapier integration. Use this reference to connect your Sendatradie account to thousands of apps through Zapier triggers and actions.
Base URL https://api.sendatradie.com/integrations/v1
Authentication
All endpoints require a Sendatradie company API key.
Preferred header
Authorization: Bearer <company_api_key>
Alternative supported header
x-api-key: <company_api_key>
Response envelope
Successful responses use this envelope:
{
"success": true,
"data": {}
}
Errors use the same envelope where possible:
{
"success": false,
"data": "Error message"
}
Common status codes
| Status | Meaning |
|---|---|
200 |
Request succeeded |
201 |
Resource created |
400 |
Required field missing or invalid input |
401 |
Missing or invalid API key |
500 |
Server error |
Zapier Features
How each Zapier trigger, action and dropdown maps to an API endpoint.
| Zapier feature | API endpoint |
|---|---|
| Authentication test | GET /auth/test |
| Trigger: Job Created | GET /events?type=job.created |
| Trigger: Job Closed | GET /events?type=job.closed |
| Trigger: Client Created | GET /events?type=client.created |
| Trigger: Job Moved to Pipeline | GET /events?type=job.pipeline_moved |
| Action: Create Client | POST /clients |
| Action: Create Job | POST /jobs |
| Dynamic dropdown: Job Types | GET /meta/job-types |
| Dynamic dropdown: Pipeline Lists | GET /meta/lists |
| Dynamic dropdown: Technicians | GET /meta/workers |
Test Authentication
Used by Zapier to verify the API key and label the connected account.
Example response
{
"success": true,
"data": {
"company_id": 123,
"company_name": "Example Plumbing",
"time_zone": "Australia/Melbourne"
}
}
List Events
Used by Zapier polling triggers.
Query parameters
| Parameter | Required | Description |
|---|---|---|
type |
No | Event type filter. Zapier uses job.created, job.closed, client.created, and job.pipeline_moved. |
after |
No | ISO timestamp. Returns events after this time. Defaults to 1970-01-01T00:00:00Z. |
limit |
No | Maximum number of events. Defaults to 50, maximum 200. |
Example request
GET /integrations/v1/events?type=job.created&after=2026-05-01T00:00:00Z&limit=50
Authorization: Bearer <company_api_key>
Example response
{
"success": true,
"data": [
{
"id": 1001,
"event_type": "job.created",
"entity_type": "job",
"entity_id": 456508,
"occurred_at": "2026-05-27T03:10:00.000Z",
"payload": {
"job_id": 456508,
"customer_id": 203814,
"name": "John Smith",
"address": "1 Collins St, Melbourne VIC 3000",
"job_status_id": 1,
"list_id": 10
}
}
]
}
Event payload notes
| Event type | Payload fields |
|---|---|
job.created |
job_id, customer_id, name, address, job_status_id, list_id |
job.closed |
job_id, job_status_id, date_closed |
client.created |
client_id, name, email, phone, address or mainaddress |
job.pipeline_moved |
job_id, from_list_id, to_list_id |
Create Client
Used by the Zapier “Create Client” action.
Request fields
| Field | Required | Description |
|---|---|---|
name |
Yes | Client name. |
email |
No | Client email address. |
phone |
No | Client phone number. |
address |
No | Main client address. |
billto |
No | Billing address. Defaults to address when omitted. |
companyname |
No | Client company name. |
Example request
{
"name": "John Smith",
"email": "john@example.com",
"phone": "0400000000",
"address": "1 Collins St, Melbourne VIC 3000",
"billto": "1 Collins St, Melbourne VIC 3000",
"companyname": "John Smith Pty Ltd"
}
Example response
{
"success": true,
"data": {
"id": 203814,
"name": "John Smith",
"email": "john@example.com",
"phone": "0400000000",
"address": "1 Collins St, Melbourne VIC 3000"
}
}
Create Job
Used by the Zapier “Create Job” action.
Current Zapier action fields
| Field | Required | Description |
|---|---|---|
name |
Yes | Customer/job name shown in Zapier as “Customer Name”. |
job_status_id |
Yes | Job status. Zapier currently offers 1 for Pending and 7 for Quote. Defaults to 1. |
address |
No | Job address. |
job_description |
No | Additional job description or notes. |
email |
No | Customer email address. |
phone |
No | Customer phone number. |
job_type |
No | Job type ID selected from GET /meta/job-types. |
list_id |
No | Pipeline/list ID selected from GET /meta/lists. |
Additional API-supported fields
| Field | Description |
|---|---|
customer_id |
Existing customer ID. If omitted, the API finds or creates a customer. |
customer_name, client_name, customer.name |
Used to create/find the customer when customer_id is omitted. Falls back to name. |
customer_email, customer_phone, customer_address |
Customer details used when finding or creating the customer. |
customer_companyname, companyname, companyName |
Customer company name. |
schedule_appointment |
Boolean. If omitted, it is true when appointment_time is provided. |
appointment_time |
ISO timestamp for the appointment. |
duration |
Job duration in minutes. Defaults to 60. |
worker_ids |
Technician IDs as an array or comma-separated string. |
Example request
{
"name": "John Smith",
"job_status_id": 1,
"address": "1 Collins St, Melbourne VIC 3000",
"job_description": "Blocked drain from Zapier lead",
"email": "john@example.com",
"phone": "0400000000",
"job_type": 5,
"list_id": 10
}
Example response
{
"success": true,
"data": {
"id": 456508,
"customer_id": 203814
}
}
List Job Types
Used by Zapier as a hidden dynamic dropdown for the Create Job action.
Example response
{
"success": true,
"data": [
{
"value": 5,
"label": "Plumbing",
"estimate_job_time": 60,
"appointment_duration": 60
}
]
}
Zapier maps each item to:
{
"id": "5",
"name": "Plumbing"
}
List Pipeline Lists
Used by Zapier as a hidden dynamic dropdown for the Create Job action.
Example response
{
"success": true,
"data": [
{
"id": 10,
"name": "New Leads"
}
]
}
List Technicians
Available as a Zapier dynamic dropdown resource. The current Zapier Create Job UI has technician selection commented out, but the backend and Zapier resource support it.
Example response
{
"success": true,
"data": [
{
"id": 5,
"full_name": "Jane Technician"
}
]
}
Zapier maps each item to:
{
"id": "5",
"name": "Jane Technician"
}
List / Search Jobs
Available for integration use. The current Zapier polling triggers use GET /events instead.
Query parameters
| Parameter | Required | Description |
|---|---|---|
updated_after |
No | ISO timestamp. Returns jobs edited after this time. |
limit |
No | Maximum number of jobs. Defaults to 50, maximum 200. |
job_status_id |
No | Filter by job status ID. |
job_number |
No | Filter by exact job number. |
Example response
{
"success": true,
"data": [
{
"id": 456508,
"string_id": "JOB-456508",
"name": "John Smith",
"address": "1 Collins St, Melbourne VIC 3000",
"job_status_id": 1,
"job_type": 5,
"job_number": 10025,
"po_number": "",
"money": 0,
"include_tax": 1,
"customer_id": 203814,
"phone": "0400000000",
"email": "john@example.com",
"note": "",
"appointment_time": null,
"appointment_time_local": null,
"suburb_name": "",
"last_edited": "2026-05-27T03:10:00.000Z",
"date_closed": null
}
]
}
