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
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/revert-crm-contacts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
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:
parameters:
Fields:
name: fields
in: query
required: false
schema:
type: string
description: Comma-separated list of fields to include in response
Associations:
name: associations
in: query
required: false
schema:
type: string
description: Comma-separated list of associated objects to include
PageSize:
name: pageSize
in: query
required: false
schema:
type: string
description: Number of results per page
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
Cursor:
name: cursor
in: query
required: false
schema:
type: string
description: Pagination cursor for next/previous page
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
securitySchemes:
ApiTokenAuth:
type: apiKey
in: header
name: x-revert-api-token
description: Your official API key for accessing Revert APIs