Freshsales Contacts API
The Contacts API from Freshsales — 7 operation(s) for contacts.
The Contacts API from Freshsales — 7 operation(s) for contacts.
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/freshsales-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: Freshsales CRM Appointments Contacts API
version: '2026-05-23'
description: 'Best-effort OpenAPI 3.1 description of the Freshsales (Freshworks CRM)
REST API. Generated from public documentation; not an official spec.
'
contact:
name: Freshworks CRM Developer Portal
url: https://developers.freshworks.com/crm/api/
servers:
- url: https://{bundleAlias}.myfreshworks.com/crm/sales/api
description: Bundle-alias scoped base URL
variables:
bundleAlias:
default: example
description: Customer bundle alias (subdomain)
security:
- tokenAuth: []
tags:
- name: Contacts
paths:
/contacts:
post:
tags:
- Contacts
operationId: createContact
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Object'
responses:
'201':
$ref: '#/components/responses/Ok'
/contacts/{id}:
parameters:
- $ref: '#/components/parameters/Id'
get:
tags:
- Contacts
operationId: getContact
responses:
'200':
$ref: '#/components/responses/Ok'
put:
tags:
- Contacts
operationId: updateContact
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Object'
responses:
'200':
$ref: '#/components/responses/Ok'
delete:
tags:
- Contacts
operationId: deleteContact
responses:
'204':
description: No Content
/contacts/view/{view_id}:
parameters:
- in: path
name: view_id
required: true
schema:
type: string
get:
tags:
- Contacts
operationId: listContactsByView
responses:
'200':
$ref: '#/components/responses/Ok'
/contacts/upsert:
post:
tags:
- Contacts
operationId: upsertContact
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Object'
responses:
'200':
$ref: '#/components/responses/Ok'
/contacts/bulk_upsert:
post:
tags:
- Contacts
operationId: bulkUpsertContacts
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Object'
responses:
'202':
$ref: '#/components/responses/Ok'
/contacts/bulk_destroy:
post:
tags:
- Contacts
operationId: bulkDestroyContacts
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Object'
responses:
'202':
$ref: '#/components/responses/Ok'
/contacts/{id}/activities:
parameters:
- $ref: '#/components/parameters/Id'
get:
tags:
- Contacts
operationId: listContactActivities
responses:
'200':
$ref: '#/components/responses/Ok'
components:
schemas:
Object:
type: object
additionalProperties: true
responses:
Ok:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Object'
parameters:
Id:
in: path
name: id
required: true
schema:
type: string
securitySchemes:
tokenAuth:
type: apiKey
in: header
name: Authorization
description: 'Token-based authentication header in the form
"Authorization: Token token=YOUR_API_KEY".
'