Revert CRM Contacts API
Unified CRM contact operations across Salesforce, HubSpot, Zoho, Pipedrive, and Close
Unified CRM contact operations across Salesforce, HubSpot, Zoho, Pipedrive, and Close
openapi: 3.0.3
info:
title: Revert Unified Accounting CRM Contacts API
description: Revert is an open-source unified API platform that makes it easy to build integrations with third-party services including CRMs (Salesforce, HubSpot, Zoho CRM, Pipedrive, Close CRM), ticketing systems (Jira, Asana), accounting (Xero, QuickBooks), chat (Slack, Microsoft Teams, Discord), and more — all through a single standardized API.
version: 1.0.0
contact:
url: https://www.revert.dev/
license:
name: AGPL-3.0
url: https://github.com/revertinc/revert/blob/main/LICENSE.txt
servers:
- url: https://api.revert.dev
description: Production
- url: https://api-staging.revert.dev
description: Staging
security:
- ApiTokenAuth: []
tags:
- name: CRM Contacts
description: Unified CRM contact operations across Salesforce, HubSpot, Zoho, Pipedrive, and Close
paths:
/crm/contacts/{id}:
get:
operationId: getCrmContact
summary: Get CRM Contact
description: Get details of a specific CRM contact by ID
tags:
- CRM Contacts
parameters:
- name: id
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/TenantId'
- $ref: '#/components/parameters/ApiVersion'
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Associations'
responses:
'200':
description: Contact details
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/ResponseStatus'
result:
$ref: '#/components/schemas/Contact'
'401':
description: Unauthorized
'404':
description: Not found
patch:
operationId: updateCrmContact
summary: Update CRM Contact
description: Update an existing CRM contact
tags:
- CRM Contacts
parameters:
- name: id
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/TenantId'
- $ref: '#/components/parameters/ApiVersion'
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Contact'
- type: object
properties:
additional:
type: object
responses:
'200':
description: Contact updated
'401':
description: Unauthorized
/crm/contacts:
get:
operationId: getCrmContacts
summary: List CRM Contacts
description: Get all CRM contacts with pagination
tags:
- CRM Contacts
parameters:
- $ref: '#/components/parameters/TenantId'
- $ref: '#/components/parameters/ApiVersion'
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/Cursor'
- $ref: '#/components/parameters/Associations'
responses:
'200':
description: List of contacts
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedResponse'
- type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Contact'
'401':
description: Unauthorized
post:
operationId: createCrmContact
summary: Create CRM Contact
description: Create a new CRM contact
tags:
- CRM Contacts
parameters:
- $ref: '#/components/parameters/TenantId'
- $ref: '#/components/parameters/ApiVersion'
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Contact'
- type: object
properties:
additional:
type: object
responses:
'200':
description: Contact created
'401':
description: Unauthorized
/crm/contacts/search:
post:
operationId: searchCrmContacts
summary: Search CRM Contacts
description: Search CRM contacts by criteria
tags:
- CRM Contacts
parameters:
- $ref: '#/components/parameters/TenantId'
- $ref: '#/components/parameters/ApiVersion'
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/Cursor'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
searchCriteria:
type: object
responses:
'200':
description: Search results
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedResponse'
- type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Contact'
'401':
description: Unauthorized
/crm/proxy:
post:
operationId: crmProxy
summary: CRM Proxy Request
description: Make a direct proxy request to the underlying CRM provider API
tags:
- CRM Contacts
parameters:
- $ref: '#/components/parameters/TenantId'
- $ref: '#/components/parameters/ApiVersion'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
method:
type: string
path:
type: string
body:
type: object
responses:
'200':
description: Proxy response
'401':
description: Unauthorized
components:
schemas:
ResponseStatus:
type: string
enum:
- ok
- error
PaginatedResponse:
type: object
properties:
status:
$ref: '#/components/schemas/ResponseStatus'
next:
type: string
description: Cursor for next page
previous:
type: string
description: Cursor for previous page
Contact:
type: object
properties:
id:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
phone:
type: string
company:
type: string
title:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
remoteId:
type: string
additional:
type: object
description: Non-unified fields from the source CRM
parameters:
Cursor:
name: cursor
in: query
required: false
schema:
type: string
description: Pagination cursor for next/previous page
Fields:
name: fields
in: query
required: false
schema:
type: string
description: Comma-separated list of fields to include in response
PageSize:
name: pageSize
in: query
required: false
schema:
type: string
description: Number of results per page
Associations:
name: associations
in: query
required: false
schema:
type: string
description: Comma-separated list of associated objects to include
TenantId:
name: x-revert-t-id
in: header
required: true
schema:
type: string
description: The unique customer id used when the customer linked their account
ApiVersion:
name: x-api-version
in: header
required: false
schema:
type: string
description: Optional Revert API version. Defaults to latest if missing
securitySchemes:
ApiTokenAuth:
type: apiKey
in: header
name: x-revert-api-token
description: Your official API key for accessing Revert APIs