Download OpenAPI specification:Download
The Marketing 360® REST API provides programmatic access to select resources in the Marketing 360® platform.
The base URL for all endpoints is: https://api.marketing360.com/v1
The Marketing 360® API uses API keys to authenticate requests. You can view and manage your API keys in the Developers tab of your Marketing 360® Account settings. You must have the Owner or Admin account role to manage API keys.
You can use restricted API keys for granular permissions by selecting the specific access the key has when creating it.
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, etc.
Authentication to the API is performed via HTTP Basic Auth. Provide your API key Client ID and Client Secret as the basic auth username and password, respectively.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
The Marketing 360® API implements leaky bucket rate limiting. All endpoints are limited to 5 requests per second per API key, unless otherwise specified. The following HTTP headers are included in every response to provide current rate limit stats:
X-Rate-Limit-Limit
: The per-second rate limit for the current endpointX-Rate-Limit-Remaining
: The number of requests remaining in the current time periodX-Rate-Limit-Reset
: An epoch timestamp of when the limit resetsContent-Length
and Content-Type
HTTP headers are included in the requestRetrieve a list of an account's contacts.
page | integer >= 1 Default: 1 Example: page=1 |
pageSize | integer >= 0 Default: 25 Example: pageSize=25 |
{- "result": [
- {
- "id": 0,
- "created": 0,
- "updated": 0,
- "nextContact": 0,
- "source": {
- "name": "string",
- "id": 0
}, - "assignees": {
- "username": "string",
- "fullName": "string",
- "email": "user@example.com"
}, - "types": [
- {
- "name": "string",
- "id": 0
}
], - "statuses": [
- {
- "name": "string",
- "id": 0
}
], - "contactName": "string",
- "email": "user@example.com",
- "phone": "string",
- "tags": [
- {
- "id": 0,
- "tag": "string"
}
], - "additionalInfo": "string",
- "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac"
}
], - "page": 1,
- "pageSize": 0,
- "totalResults": 0
}
Retrieve a list of an account's contacts, limited by filters entered in the request body.
page | integer >= 1 Default: 1 Example: page=1 |
pageSize | integer >= 0 Default: 25 Example: pageSize=25 |
object |
{- "request": {
- "filters": [
- {
- "field": "string",
- "op": "string",
- "value": [ ]
}
]
}
}
{- "result": [
- {
- "id": 0,
- "created": 0,
- "updated": 0,
- "nextContact": 0,
- "source": {
- "name": "string",
- "id": 0
}, - "assignees": {
- "username": "string",
- "fullName": "string",
- "email": "user@example.com"
}, - "types": [
- {
- "name": "string",
- "id": 0
}
], - "statuses": [
- {
- "name": "string",
- "id": 0
}
], - "contactName": "string",
- "email": "user@example.com",
- "phone": "string",
- "tags": [
- {
- "id": 0,
- "tag": "string"
}
], - "additionalInfo": "string",
- "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac"
}
], - "page": 1,
- "pageSize": 0,
- "totalResults": 0
}
Create a new contact.
object |
{- "request": {
- "fields": {
- "contactName": "string",
- "email": "string",
- "phone": "string",
- "assignees": {
- "users": [
- "0a0a0a0-0a0a-0a0a-0a0a-0a0a0a0a0a0a",
- "0b0b0b0-0b0b-0b0b-0b0b-0b0b0b0b0b0b"
], - "roundrobin": true
}, - "source": 0,
- "statuses": [
- 0
], - "types": [
- 0
], - "property1": [ ],
- "property2": [ ]
}
}
}
{- "success": 0
}
Update an existing contact.
id required | integer Example: null The ID of the contact to be updated. |
object |
{- "request": {
- "fields": {
- "contactName": "string",
- "email": "string",
- "phone": "string",
- "statuses": [
- 0
], - "types": [
- 0
], - "property1": [ ],
- "property2": [ ]
}
}
}
{- "success": 0
}
Retrieve information about a single contact, by ID.
id required | integer Example: null The ID of the contact to view. |
{- "id": 0,
- "created": 0,
- "updated": 0,
- "nextContact": 0,
- "source": {
- "name": "string",
- "id": 0
}, - "assignees": {
- "username": "string",
- "fullName": "string",
- "email": "user@example.com"
}, - "types": [
- {
- "name": "string",
- "id": 0
}
], - "statuses": [
- {
- "name": "string",
- "id": 0
}
], - "contactName": "string",
- "email": "user@example.com",
- "phone": "string",
- "tags": [
- {
- "id": 0,
- "tag": "string"
}
], - "additionalInfo": "string",
- "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
- "customFields": [
- {
- "id": 0,
- "value": "string"
}
], - "firstName": "string",
- "lastName": "string",
- "sourceByType": "string",
- "organizationid": 0
}
Retrieve a list of an account's custom fields.
page | integer >= 1 Default: 1 Example: page=1 |
pageSize | integer >= 0 Default: 25 Example: pageSize=25 |
{- "result": [
- {
- "id": 0,
- "name": "string",
- "fieldtype": "string",
- "children": [
- {
- "id": 0,
- "name": "string",
- "fieldtype": "text"
}
]
}
], - "page": 1,
- "pageSize": 0,
- "totalResults": 0
}
Retrieve a filtered list of an account's custom fields.
page | integer >= 1 Default: 1 Example: page=1 |
pageSize | integer >= 0 Default: 25 Example: pageSize=25 |
object |
{- "request": {
- "filters": [
- {
- "field": "string",
- "op": "string",
- "value": "string"
}
]
}
}
{- "result": [
- {
- "id": 0,
- "name": "string",
- "fieldtype": "string",
- "children": [
- {
- "id": 0,
- "name": "string",
- "fieldtype": "text"
}
]
}
], - "page": 1,
- "pageSize": 0,
- "totalResults": 0
}
Create a CRM task.
object (CRMTasksRequest) |
{- "request": {
- "urgent": true,
- "name": "string",
- "details": "string",
- "allday": true,
- "assignedto": [
- "string"
], - "startdate": 0,
- "enddate": 0,
- "private": true,
- "repeat": {
- "dateType": "day",
- "interval": 0,
- "repeatend": 0,
- "repeatday": "mon",
- "repeatmonth": 0
}, - "remind": {
- "dateType": "day",
- "interval": 0
}
}
}
{- "message": "Task created successfully.",
- "id": 1234
}
Update a CRM task.
id required | integer Example: 5 The ID of the task to update. |
object (CRMTasksRequest) |
{- "request": {
- "urgent": true,
- "name": "string",
- "details": "string",
- "allday": true,
- "assignedto": [
- "string"
], - "startdate": 0,
- "enddate": 0,
- "private": true,
- "repeat": {
- "dateType": "day",
- "interval": 0,
- "repeatend": 0,
- "repeatday": "mon",
- "repeatmonth": 0
}, - "remind": {
- "dateType": "day",
- "interval": 0
}
}
}
{- "message": "Task updated successfully.",
- "id": 1234
}
Create or update a Zapier lead. An update is triggered when an existing lead with the same email exists. Email is the primary key used to dedupe leads.
required | object (CRMCreateZapierLead) |
{- "request": {
- "name": "John Doe",
- "email": "john@doe.marketing360.com",
- "phone": 6790372963,
- "assignedto": [
- "0a0a0a0-0a0a-0a0a-0a0a-0a0a0a0a0a0a"
], - "status": [
- 1,
- 2,
- 3
], - "type": [
- 1,
- 2,
- 3
], - "leads-settings": {
- "externalid": "650dcc751610b"
}, - "property1": [ ],
- "property2": [ ]
}
}
{- "id": 1,
- "created": 1648236117,
- "updated": 1648236117,
- "leadSource": {
- "id": 1,
- "name": "Some lead source name",
- "type": "zap",
- "externalid": "+15019849384",
- "provider": "zapier",
- "created": "2021-10-01 10:10:00",
- "modified": "2021-10-01 10:10:00",
- "active": true,
- "syncToCRM": true,
- "saveAsContact": true
}
}
List Lead Sources
page | integer >= 1 Default: 1 Example: page=1 |
pageSize | integer >= 0 Default: 25 Example: pageSize=25 |
type required | string (CRMLeadSourceType) Value: "zap" Example: type=zap |
provider | string (CRMLeadSourceProvider) Value: "zapier" Example: provider=zapier |
search | string Example: search=test search term A search term. Title and name will be searched. |
{- "sources": [
- {
- "id": 1,
- "name": "Google Sheets Integration",
- "type": "zap",
- "channel": null,
- "provider": "zapier",
- "providerTitle": "zapier",
- "externalid": "650e02f45f066",
- "created": "2023-09-22 21:11:16",
- "updated": "2023-09-22 21:11:16",
- "config": {
- "saveAsContact": true,
- "syncToCRM": false
}, - "submissions": 3,
- "rules": {
- "newleads": 421,
- "existingleads": 432
}
}
], - "pagination": {
- "firstpage": "lead-submissions/contact/2004/page/1",
- "prevpages": [
- [
- "lead-submissions/contact/2004/page/1",
- "lead-submissions/contact/2004/page/2"
]
], - "currentpage": 1,
- "nextpages": [
- [
- "lead-submissions/contact/2004/page/4",
- "lead-submissions/contact/2004/page/5"
]
], - "lastpage": "lead-submissions/contact/2004/page/5",
- "itemcount": 10,
- "pagesize": 15,
- "totalpages": 5
}
}