Sarj AI Developer API Integrations API
The integrations API from Sarj AI Developer API — 19 operation(s) for integrations.
The integrations API from Sarj AI Developer API — 19 operation(s) for integrations.
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/sarj-ai-developer-api-integrations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Sarj Ai Developer Integrations API
version: 1.0.0
description: 'Operations tagged integrations across 2 of this provider''s published API definitions: sarj-ai-developer-api-integrations-api-openapi.yml, sarj-ai-developer-api-voice-platform-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: integrations
paths:
/v1/beta/integrations/active-providers:
get:
tags:
- integrations
summary: List Active Providers
operationId: integrationsListActiveProviders
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ProviderItem'
type: array
title: Response Integrationslistactiveproviders
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/token/{provider}:
get:
tags:
- integrations
summary: Get Token
operationId: integrationsGetToken
parameters:
- name: provider
in: path
required: true
schema:
$ref: '#/components/schemas/IntegrationProvider'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialPublic'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- integrations
summary: Delete Token
operationId: integrationsDeleteToken
parameters:
- name: provider
in: path
required: true
schema:
$ref: '#/components/schemas/IntegrationProvider'
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/token:
post:
tags:
- integrations
summary: Add Token
operationId: integrationsAddToken
requestBody:
content:
application/json:
schema:
additionalProperties: true
type: object
title: Data
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialPublic'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/token/refresh-all:
post:
tags:
- integrations
summary: Refresh All
description: "Refresh only OAuth tokens; providers without a token refresher count as failures.\n\nReturns:\n Per-provider and total success/failure counts for the refresh sweep."
operationId: integrationsRefreshAll
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RefreshAllTokensResponse'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/authorize:
get:
tags:
- integrations
summary: Zoho Authorize
operationId: integrationsZohoAuthorize
parameters:
- name: return_to
in: query
required: true
schema:
type: string
title: Return To
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ZohoAuthorizeUrlResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/webhook:
post:
tags:
- integrations
summary: Zoho Webhook
description: Public webhook API where ZohoCRM dumps its webhook data.
operationId: integrationsZohoWebhook
parameters:
- name: extra_conditions
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Extra Conditions
- name: scenario_id
in: query
required: true
schema:
type: string
title: Scenario Id
- name: user_email
in: query
required: true
schema:
type: string
title: User Email
- name: user_id
in: query
required: true
schema:
type: string
title: User Id
- name: organization_id
in: query
required: true
schema:
type: string
title: Organization Id
- name: trunk_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Trunk Id
- name: language
in: query
required: false
schema:
$ref: '#/components/schemas/Language'
default: ar
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ZohoNotificationWebhookPayload_dict_str__object__'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/list-webhooks:
get:
tags:
- integrations
summary: Get Notifications
operationId: integrationsGetNotifications
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ZohoNotificationGetResponse'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/create-webhook:
post:
tags:
- integrations
summary: Create Notification
operationId: integrationsCreateNotification
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ZohoWebhookData'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ZohoNotificationCreateResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/disable-webhooks:
delete:
tags:
- integrations
summary: Remove Notifications
operationId: integrationsRemoveNotifications
parameters:
- name: channel_ids
in: query
required: true
schema:
type: string
description: Comma-separated list of channel IDs
title: Channel Ids
description: Comma-separated list of channel IDs
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ZohoNotificationDeleteResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/available-events:
get:
tags:
- integrations
summary: Get Available Events
description: "Return available Zoho CRM events that can be used for webhooks.\n\nReturns:\n The subscribable notification events grouped by CRM module."
operationId: integrationsGetAvailableEvents
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ZohoAvailableEventsResponse'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/field-settings:
get:
tags:
- integrations
summary: Get Field Settings
operationId: integrationsGetFieldSettings
parameters:
- name: crm_module
in: query
required: false
schema:
$ref: '#/components/schemas/ZohoCRMModules'
default: Leads
- name: editable_fields_only
in: query
required: false
schema:
type: boolean
default: true
title: Editable Fields Only
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ZohoFieldSetting'
title: Response Integrationsgetfieldsettings
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/record:
get:
tags:
- integrations
summary: Get Record
description: "Read a CRM record back over HTTP so the canary can verify its lead update landed.\n\nReturns:\n The CRM record with its callable fields.\n\nRaises:\n HTTPException: 404 if no record exists with `record_id` in `module`."
operationId: integrationsGetRecord
parameters:
- name: record_id
in: query
required: true
schema:
type: string
title: Record Id
- name: module
in: query
required: false
schema:
$ref: '#/components/schemas/ZohoCRMModules'
default: Leads
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ZohoCallableRecord'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/revalidate-all-webhooks:
post:
tags:
- integrations
summary: Revalidate All Notifications
description: Revalidate notifications for all organizations with Zoho tokens.
operationId: integrationsRevalidateAllNotifications
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/zoho/desk/create-ticket:
post:
tags:
- integrations
summary: Create Ticket
description: "Create a ticket in Zoho Desk for the specified organization.\n\nReturns:\n The ticket as created in Zoho Desk."
operationId: integrationsCreateTicket
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTicketRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DeskTicketGet'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/salla/webhook:
post:
tags:
- integrations
summary: Salla Webhook
operationId: integrationsSallaWebhook
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SallaEventTrigger'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/salla/app-url:
get:
tags:
- integrations
summary: Get Salla App Url
description: "Return the Salla marketplace URL for installing the Bulbul app.\n\nReturns:\n The apps.salla.sa install URL for the configured Salla app id."
operationId: integrationsGetSallaAppUrl
responses:
'200':
description: Successful Response
content:
text/plain:
schema:
type: string
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/salla/me:
get:
tags:
- integrations
summary: Get Salla Integration Details
operationId: integrationsGetSallaIntegrationDetails
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SallaMerchantInfo'
type: array
title: Response Integrationsgetsallaintegrationdetails
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/salesforce/authorize:
get:
tags:
- integrations
summary: Authorize
description: "Return the Salesforce authorization URL for the front-end to redirect to.\n\nCalled server-side by the authenticated front-end so the signed\n``state`` can be bound to the caller's organization.\n\nReturns:\n The authorization URL for the front-end to redirect the user to."
operationId: integrationsAuthorize
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SalesforceAuthorizationUrl'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
/v1/beta/integrations/salesforce/callback:
get:
tags:
- integrations
summary: Salesforce Callback
description: "Salesforce redirects the browser here, then we bounce back to the app.\n\nOn denied consent Salesforce redirects with ``error`` and no ``code``,\nso both are optional and the error path is handled explicitly.\n\nReturns:\n A redirect back to the app with the success or error outcome."
operationId: integrationsSalesforceCallback
parameters:
- name: state
in: query
required: true
schema:
type: string
title: State
- name: code
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Code
- name: error
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Error
- name: error_description
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Error Description
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
components:
schemas:
TicketPriority:
type: string
enum:
- High
- Medium
- Low
title: TicketPriority
LikenessCondition:
properties:
condition_type:
type: string
const: likeness
title: Condition Type
default: likeness
evaluated_field_name:
type: string
minLength: 1
title: Evaluated Field Name
expected_field_value:
type: string
minLength: 1
title: Expected Field Value
type: object
required:
- evaluated_field_name
- expected_field_value
title: LikenessCondition
_NotificationResponseDelete:
properties:
code:
type: string
const: SUCCESS
title: Code
message:
type: string
title: Message
channel_id:
type: string
title: Channel Id
type: object
required:
- code
- message
- channel_id
title: _NotificationResponseDelete
SallaMerchantInfo:
properties:
merchant_id:
type: integer
title: Merchant Id
merchant_name:
type: string
title: Merchant Name
organization_id:
type: string
title: Organization Id
integration_status:
$ref: '#/components/schemas/SallaIntegrationStatus'
default: INCOMPLETE
merchant_calls:
items:
type: string
type: array
title: Merchant Calls
id:
type: string
title: Id
created_at:
type: string
format: date-time
title: Created At
updated_at:
type: string
format: date-time
title: Updated At
type: object
required:
- merchant_id
- merchant_name
- organization_id
- id
- created_at
- updated_at
title: SallaMerchantInfo
ZohoAuthorizeUrlResponse:
properties:
authorize_url:
type: string
title: Authorize Url
type: object
required:
- authorize_url
title: ZohoAuthorizeUrlResponse
description: Zoho consent-page URL for the browser to navigate to.
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
_OperationType:
properties:
web_update:
type: boolean
title: Web Update
api_create:
type: boolean
title: Api Create
web_create:
type: boolean
title: Web Create
api_update:
type: boolean
title: Api Update
type: object
required:
- web_update
- api_create
- web_create
- api_update
title: _OperationType
SallaIntegrationStatus:
type: string
enum:
- COMPLETED
- INCOMPLETE
title: SallaIntegrationStatus
EventEvaluationConditions:
properties:
module_type:
$ref: '#/components/schemas/ZohoCRMModules'
conditions:
items:
oneOf:
- $ref: '#/components/schemas/EqualityCondition'
- $ref: '#/components/schemas/LikenessCondition'
- $ref: '#/components/schemas/EmptyCondition'
discriminator:
propertyName: condition_type
mapping:
empty: '#/components/schemas/EmptyCondition'
equality: '#/components/schemas/EqualityCondition'
likeness: '#/components/schemas/LikenessCondition'
type: array
minItems: 1
title: Conditions
type: object
required:
- module_type
- conditions
title: EventEvaluationConditions
ZohoNotificationDeleteResponse:
properties:
watch:
items:
$ref: '#/components/schemas/_NotificationResponseDelete'
type: array
title: Watch
type: object
title: ZohoNotificationDeleteResponse
AuthType:
type: string
enum:
- oauth
- api_key
title: AuthType
CredentialPublic:
properties:
id:
type: string
title: Id
organization_id:
type: string
title: Organization Id
provider:
$ref: '#/components/schemas/IntegrationProvider'
auth_type:
$ref: '#/components/schemas/AuthType'
expires_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Expires At
scopes:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Scopes
metadata:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Metadata
created_at:
type: string
format: date-time
title: Created At
updated_at:
type: string
format: date-time
title: Updated At
type: object
required:
- id
- organization_id
- provider
- auth_type
- expires_at
- scopes
- metadata
- created_at
- updated_at
title: CredentialPublic
CreateTicketRequest:
properties:
subject:
type: string
title: Subject
description:
type: string
title: Description
name:
type: string
title: Name
phone:
anyOf:
- type: string
- type: 'null'
title: Phone
language:
type: string
title: Language
default: English
department_id:
anyOf:
- type: string
- type: 'null'
title: Department Id
priority:
$ref: '#/components/schemas/TicketPriority'
default: Medium
status:
$ref: '#/components/schemas/TicketStatus'
default: Open
channel:
$ref: '#/components/schemas/TicketChannel'
default: Phone
type: object
required:
- subject
- description
- name
title: CreateTicketRequest
description: Request payload for creating a Zoho Desk ticket
Language:
type: string
enum:
- en
- ar
- ur
title: Language
description: Language codes in ISO 639-1
_NotificationEvent:
properties:
channel_expiry:
type: string
format: date-time
title: Channel Expiry
resource_uri:
type: string
title: Resource Uri
resource_id:
type: string
title: Resource Id
resource_name:
type: string
title: Resource Name
channel_id:
type: string
title: Channel Id
type: object
required:
- channel_expiry
- resource_uri
- resource_id
- resource_name
- channel_id
title: _NotificationEvent
_NotificationDetails:
properties:
events:
items:
$ref: '#/components/schemas/_NotificationEvent'
type: array
title: Events
type: object
required:
- events
title: _NotificationDetails
ZohoCallableRecord:
properties:
id:
anyOf:
- type: integer
- type: 'null'
title: Id
First_Name:
anyOf:
- type: string
- type: 'null'
title: First Name
Last_Name:
anyOf:
- type: string
- type: 'null'
title: Last Name
Full_Name:
anyOf:
- type: string
- type: 'null'
title: Full Name
Phone:
anyOf:
- type: string
- type: 'null'
title: Phone
Mobile:
anyOf:
- type: string
- type: 'null'
title: Mobile
Email:
anyOf:
- type: string
- type: 'null'
title: Email
additionalProperties: true
type: object
title: ZohoCallableRecord
description: The subset of a CRM record (Leads, Contacts, ...) needed to place an outbound call.
TicketStatus:
type: string
enum:
- Open
- On Hold
- Escalated
- Closed
title: TicketStatus
ZohoNotificationWebhookPayload_dict_str__object__:
properties:
server_time:
type: integer
title: Server Time
affected_values:
items:
$ref: '#/components/schemas/Record_dict_str__object__'
type: array
title: Affected Values
query_params:
additionalProperties: true
type: object
title: Query Params
module:
$ref: '#/components/schemas/ZohoCRMModules'
ids:
items:
type: string
type: array
title: Ids
operation:
type: string
enum:
- insert
- update
title: Operation
channel_id:
type: string
title: Channel Id
token:
type: string
title: Token
type: object
required:
- server_time
- affected_values
- query_params
- module
- ids
- operation
- channel_id
- token
title: ZohoNotificationWebhookPayload[dict[str, object]]
Record_dict_str__object__:
properties:
record_id:
type: string
title: Record Id
values:
additionalProperties: true
type: object
title: Values
type: object
required:
- record_id
- values
title: Record[dict[str, object]]
_NotificationResponseCreate:
properties:
code:
type: string
const: SUCCESS
title: Code
details:
$ref: '#/components/schemas/_NotificationDetails'
message:
type: string
title: Message
type: object
required:
- code
- details
- message
title: _NotificationResponseCreate
ZohoWebhookData:
properties:
events:
items:
$ref: '#/components/schemas/ZohoNotificationEvent'
type: array
title: Events
query_params:
$ref: '#/components/schemas/ZohoWebhookQueryParams'
extra_conditions:
anyOf:
- $ref: '#/components/schemas/EventEvaluationConditions'
- type: 'null'
description: Extra conditions that may be injected in the webhook configuration. Allows fine-tuning routing different cases to scenarios.
type: object
required:
- events
- query_params
title: ZohoWebhookData
description: Required payload to create a new Zoho webhook
EqualityCondition:
properties:
condition_type:
type: string
const: equality
title: Condition Type
default: equality
evaluated_field_name:
type: string
minLength: 1
title: Evaluated Field Name
expected_field_value:
type: string
minLength: 1
title: Expected Field Value
type: object
required:
- evaluated_field_name
- expected_field_value
title: EqualityCondition
ZohoWebhookQueryParams:
properties:
scenario_id:
type: string
title: Scenario Id
user_email:
type: string
title: User Email
user_id:
type: string
title: User Id
organization_id:
type: string
title: Organization Id
trunk_id:
anyOf:
- type: string
- type: 'null'
title: Trunk Id
language:
$ref: '#/components/schemas/Language'
default: ar
type: object
required:
- scenario_id
- user_email
- user_id
- organization_id
title: ZohoWebhookQueryParams
description: The query params retrieved from Zoho webhooks
DeskTicketGet:
properties:
subject:
type: string
title: Subject
description:
type: string
title: Description
language:
type: string
title: Language
phone:
anyOf:
- type: string
- type: 'null'
title: Phone
departmentId:
anyOf:
- type: string
- type: 'null'
title: Departmentid
priority:
$ref: '#/components/schemas/TicketPriority'
default: Medium
status:
$ref: '#/components/schemas/TicketStatus'
default: Open
channel:
$ref: '#/components/schemas/TicketChannel'
default: Phone
category:
anyOf:
- type: string
- type: 'null'
title: Category
subCategory:
anyOf:
- type: string
- type: 'null'
title: Subcategory
id:
type: string
title: Id
ticketNumber:
type: string
title: Ticketnumber
contactId:
type: string
title: Contactid
type: object
required:
- subject
- description
- language
- id
- ticketNumber
- contactId
title: DeskTicketGet
RefreshAllTokensResponse:
properties:
provider_stats:
additionalProperties:
additionalProperties:
type: integer
type: object
type: object
title: Provider Stats
total_success:
type: integer
title: Total Success
default:
# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sarj-ai-developer-api/refs/heads/main/openapi/sarj-ai-developer-api-integrations-api-openapi.yml