Sarj AI Developer API Calls API
Create outbound voice calls and retrieve call details and transcripts.
Create outbound voice calls and retrieve call details and transcripts.
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-calls-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 Calls API
version: 1.0.0
description: 'Operations tagged Calls across 3 of this provider''s published API definitions: sarj-ai-developer-api-calls-api-openapi.yml, sarj-ai-developer-api-developer-openapi.json, 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: Production
tags:
- name: Calls
description: Create outbound voice calls and retrieve call details and transcripts.
paths:
/calls:
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
post:
tags:
- Calls
summary: Place an outbound Sarj.ai voice call
description: 'Place an outbound Sarj.ai voice call: dials the given phone_number and runs the specified scenario (with optional template variables and language). Returns a call_id that can be polled via getCall. Use this whenever the user asks to call, dial, ring, or phone someone through Sarj.ai — do not attempt to start calls by writing to the database or invoking telephony providers directly.'
operationId: createCall
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCallRequest'
required: true
responses:
'202':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse_PublicCall_'
example:
data:
id: call_8f9b2c1e-4a5d-4f6e-8b1a-2c3d4e5f6a7b
status: queued
phone_number: '+966512345678'
scenario_id: scn_abc123
created_at: '2026-04-12T10:30:00Z'
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
'400':
description: Outbound call failed.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
type: outbound_call_failed
message: Outbound call could not be initiated.
reason: telephony_provider_unavailable
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
type: unauthorized
message: Authentication required.
meta: {}
'403':
description: Forbidden — phone number blocked or scenario access denied.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
phone_number_blocked:
summary: Phone number is blocked
value:
error:
type: phone_number_blocked
message: Phone number +966512345678 is blocked.
phone_number: '+966512345678'
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
scenario_forbidden:
summary: Scenario belongs to a different organization
value:
error:
type: scenario_forbidden
message: Access denied to scenario scn_abc123.
scenario_id: scn_abc123
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
'404':
description: Scenario not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
type: scenario_not_found
message: Scenario scn_abc123 was not found.
scenario_id: scn_abc123
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
'422':
description: Validation error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
type: validation_error
message: Request validation failed.
field_violations:
- field: body.phone_number
message: value is not a valid phone number
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
'429':
description: Call limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
type: call_limit_exceeded
message: Call limit of 10 reached for phone number +966512345678.
phone_number: '+966512345678'
call_limit: 10
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
x-codeSamples:
- label: Python (SDK)
lang: Python
source: "import os\nfrom sarj_platform_sdk import SDK\n\nsdk = SDK(api_key_auth=os.environ[\"SARJ_API_KEY\"])\nres = sdk.calls.create_call(\n phone_number=\"+966512345678\",\n scenario_id=\"scn_abc123\",\n language=\"ar\",\n)\nprint(f\"Call queued: {res.data.id}\")"
- label: curl
lang: bash
source: "curl -X POST https://platform-api.sarj.ai/api/v1/calls \\\n -H \"Authorization: Bearer $SARJ_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"phone_number\": \"+966512345678\",\n \"scenario_id\": \"scn_abc123\",\n \"language\": \"ar\"\n }'"
- label: Python (requests)
lang: Python
source: "import os\nimport requests\n\nresponse = requests.post(\n \"https://platform-api.sarj.ai/api/v1/calls\",\n headers={\n \"Authorization\": f\"Bearer {os.environ['SARJ_API_KEY']}\",\n },\n json={\n \"phone_number\": \"+966512345678\",\n \"scenario_id\": \"scn_abc123\",\n \"language\": \"ar\",\n },\n)\nresponse.raise_for_status()\ncall = response.json()[\"data\"]\nprint(f\"Call queued: {call['id']}\")"
- label: TypeScript
lang: TypeScript
source: "const response = await fetch(\"https://platform-api.sarj.ai/api/v1/calls\", {\n method: \"POST\",\n headers: {\n \"Authorization\": `Bearer ${process.env.SARJ_API_KEY}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n phone_number: \"+966512345678\",\n scenario_id: \"scn_abc123\",\n language: \"ar\",\n }),\n});\n\nif (!response.ok) throw new Error(`HTTP ${response.status}`);\nconst { data: call } = await response.json();\nconsole.log(`Call queued: ${call.id}`);"
security:
- ApiKeyAuth: []
/calls/{call_id}:
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
get:
tags:
- Calls
summary: Fetch Sarj.ai voice call details by call_id
description: 'Fetch details of a Sarj.ai voice call by call_id: status, phone_number, scenario_id, language, direction (inbound/outbound), scenario variables, duration (seconds), recording_url (signed download link), transcript (list of spoken messages), report (post-call outcome with success-criteria results; generated asynchronously shortly after completed calls, null otherwise), and timestamps (created_at, updated_at, started_at, ended_at). Use this whenever the user asks about a specific call, phone conversation, or voice interaction by its call_id — do not query other tools.'
operationId: getCall
parameters:
- name: call_id
in: path
required: true
schema:
type: string
title: Call Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse_PublicCallDetail_'
example:
data:
id: call_8f9b2c1e-4a5d-4f6e-8b1a-2c3d4e5f6a7b
status: completed
phone_number: '+966512345678'
scenario_id: 550e8400-e29b-41d4-a716-446655440000
language: ar
direction: outbound
variables:
customer_name: Ahmad
order_id: ORD-123
duration: 142
recording_url: https://storage.googleapis.com/sarj-recordings/calls/8f9b2c1e.mp4?X-Goog-Signature=...
transcript:
- role: assistant
content: Hello Ahmad, calling about order ORD-123.
- role: user
content: Yes, hi.
- role: assistant
content: Your order is ready for delivery tomorrow.
report:
generated_at: '2026-04-12T10:33:41Z'
outcome:
status: success
reason: The customer confirmed the delivery appointment for tomorrow.
success_criteria:
- text: Customer confirms the delivery slot
achieved: true
is_primary: true
created_at: '2026-04-12T10:30:00Z'
updated_at: '2026-04-12T10:32:22Z'
started_at: '2026-04-12T10:30:05Z'
ended_at: '2026-04-12T10:32:22Z'
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
'401':
description: Missing or invalid API key.
content:
application/json:
example:
error:
type: unauthorized
message: Authentication required.
meta: {}
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: API key not associated with an organization.
content:
application/json:
example:
error:
type: no_organization
message: API key is not associated with an organization.
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Call not found.
content:
application/json:
example:
error:
type: call_not_found
message: Call call_8f9b2c1e-4a5d-4f6e-8b1a-2c3d4e5f6a7b was not found.
call_id: call_8f9b2c1e-4a5d-4f6e-8b1a-2c3d4e5f6a7b
meta:
request_id: 550e8400-e29b-41d4-a716-446655440000
schema:
$ref: '#/components/schemas/ErrorResponse'
x-codeSamples:
- label: Python (SDK)
lang: Python
source: 'import os
from sarj_platform_sdk import SDK
sdk = SDK(api_key_auth=os.environ["SARJ_API_KEY"])
res = sdk.calls.get_call(call_id="call_8f9b2c1e-4a5d-4f6e-8b1a-2c3d4e5f6a7b")
call = res.data
print(f"Status: {call.status}, duration: {call.duration}")'
- label: curl
lang: bash
source: "curl https://platform-api.sarj.ai/api/v1/calls/call_8f9b2c1e-4a5d-4f6e-8b1a-2c3d4e5f6a7b \\\n -H \"Authorization: Bearer $SARJ_API_KEY\""
- label: Python (requests)
lang: Python
source: "import os\nimport requests\n\ncall_id = \"call_8f9b2c1e-4a5d-4f6e-8b1a-2c3d4e5f6a7b\"\nresponse = requests.get(\n f\"https://platform-api.sarj.ai/api/v1/calls/{call_id}\",\n headers={\n \"Authorization\": f\"Bearer {os.environ['SARJ_API_KEY']}\",\n },\n)\nresponse.raise_for_status()\ncall = response.json()[\"data\"]\nprint(f\"Status: {call['status']}, duration: {call['duration']}\")"
- label: TypeScript
lang: TypeScript
source: "const callId = \"call_8f9b2c1e-4a5d-4f6e-8b1a-2c3d4e5f6a7b\";\nconst response = await fetch(\n `https://platform-api.sarj.ai/api/v1/calls/${callId}`,\n {\n headers: {\n \"Authorization\": `Bearer ${process.env.SARJ_API_KEY}`,\n },\n },\n);\n\nif (!response.ok) throw new Error(`HTTP ${response.status}`);\nconst { data: call } = await response.json();\nconsole.log(`Status: ${call.status}, duration: ${call.duration}`);"
security:
- ApiKeyAuth: []
/v1/beta/calls/outbound:
post:
tags:
- Calls
summary: Outbound Call
operationId: callsOutboundCall
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OutboundCallInput'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Call'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
/v1/beta/calls/chat:
post:
tags:
- Calls
summary: Create Chat
operationId: callsCreateChat
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCallInput'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/InboundCallSuccess'
- $ref: '#/components/schemas/InboundCallFailure'
title: Response Callscreatechat
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
/v1/beta/calls/client:
post:
tags:
- Calls
summary: Create Client Call
operationId: callsCreateClientCall
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ClientCallInput'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientCallResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
/v1/beta/calls/detail/{call_id}:
get:
tags:
- Calls
summary: Get Detail
operationId: callsGetDetail
parameters:
- name: call_id
in: path
required: true
schema:
type: string
title: Call Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CallDetail'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
/v1/beta/calls/{call_id}/transcriptions:
get:
tags:
- Calls
summary: Get Transcriptions
operationId: callsGetTranscriptions
parameters:
- name: call_id
in: path
required: true
schema:
type: string
title: Call Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/STTTranscription'
title: Response Callsgettranscriptions
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
/v1/beta/calls/{call_id}/retry-outcome:
post:
tags:
- Calls
summary: Retry Call Outcome
operationId: callsRetryCallOutcome
parameters:
- name: call_id
in: path
required: true
schema:
type: string
title: Call Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
/v1/beta/calls/count-for-org:
post:
tags:
- Calls
summary: Count For Org
operationId: callsCountForOrg
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CountForOrgInput'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CountForOrgResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
/v1/beta/calls/blocked-numbers:
post:
tags:
- Calls
summary: Block Number
operationId: callsBlockNumber
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BlockNumberInput'
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: Production
/v1/beta/calls/blocked-numbers/{phone_number}:
delete:
tags:
- Calls
summary: Unblock Number
operationId: callsUnblockNumber
parameters:
- name: phone_number
in: path
required: true
schema:
type: string
title: Phone Number
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: Production
/v1/beta/calls/phone-numbers:
get:
tags:
- Calls
summary: List Phone Numbers
operationId: callsListPhoneNumbers
parameters:
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Cursor
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
default: 10
title: Limit
- name: phone_number
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Phone Number
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Organization Id
- name: sort_by
in: query
required: false
schema:
$ref: '#/components/schemas/PhoneNumberSortField'
default: total_call_count
- name: sort_order
in: query
required: false
schema:
$ref: '#/components/schemas/SortOrder'
default: desc
- name: date_from
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Date From
- name: date_to
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Date To
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PhoneNumberHistoryResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
servers:
- url: https://platform-api.sarj.ai/api/v1
description: Production
components:
schemas:
KbRetrievalMode:
type: string
enum:
- inline
- llm_tool
title: KbRetrievalMode
VoiceMigrationMessage:
properties:
type:
type: string
const: voice_migration
title: Type
default: voice_migration
type: object
title: VoiceMigrationMessage
CustomScenarioRecord:
properties:
id:
type: string
title: Id
created_at:
type: string
format: date-time
title: Created At
organization_id:
type: string
title: Organization Id
creator_id:
type: string
title: Creator Id
name:
type: string
title: Name
status:
$ref: '#/components/schemas/CustomScenarioStatus'
config:
$ref: '#/components/schemas/CustomScenarioConfig'
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
last_modified_by:
anyOf:
- type: string
- type: 'null'
title: Last Modified By
deleted_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Deleted At
type: object
required:
- id
- created_at
- organization_id
- creator_id
- name
- status
- config
title: CustomScenarioRecord
GoogleSTTSettings:
properties:
provider:
type: string
const: google
title: Provider
model:
type: string
enum:
- long
- short
- telephony
- chirp_2
- chirp_3
title: Model
region:
type: string
enum:
- us
- eu
title: Region
type: object
required:
- provider
- model
- region
title: GoogleSTTSettings
SuccessCriterion:
properties:
is_primary:
type: boolean
title: Is Primary
description: Whether this is the primary success criterion. Exactly one should be True.
default: false
text:
type: string
title: Text
description: Description of what constitutes success. Use bullet points with \n for multiple items in primary criteria.
examples:
- Customer confirmed their order details
- '- Collected payment information\n- Confirmed payment date\n- Sent confirmation'
- Agent successfully created support ticket with all required fields
type: object
required:
- text
title: SuccessCriterion
description: "Defines a success criterion for evaluating call outcomes.\n\nSuccess criteria determine whether a call achieved its business objectives.\nThey are used for analytics and quality monitoring.\n\n- Could be tool-related: \"Agent transferred to specialist when customer requested human advisor\"\n- Could be business-related: \"Offered loyalty program benefits to retain customer\"\n\nSTRUCTURE:\n- PRIMARY (is_primary=True): Exactly ONE criterion that determines call success/failure.\n The text field can contain multiple points separated by newlines.\n Format: \"- Point 1\\n- Point 2\\n- Point 3\"\n - Single point: \"Successfully collected customer feedback and confirmed satisfaction\"\n - Multiple points: \"- Collected customer payment information\\\\n- Confirmed scheduled payment date\\\\n- Sent payment confirmation\"\n - With tool call: \"- Collected issue details\\\\n- Created support ticket\\\\n- Confirmed ticket number\"\n ALL points must be met for the call to be marked as successful.\n\n- SECONDARY (is_primary=False): Zero or more additional criteria.\n Each secondary is a separate object. These are nice-to-have objectives\n that don't affect overall call success/failure status.\n\nTOOL CALLS IN SUCCESS CRITERIA:\n- As Primary: When tool call IS the main business objective\n Example: \"Agent successfully created support ticket with all required fields\"\n- As Secondary: When tool usage is optional/supplementary\n Example: \"Agent transferred to specialist when loan exceeded $100K\"\n- Not in Criteria: When it's standard operation (e.g., end-call is expected behavior)\n\nCRITICAL DISTINCTION:\n- Tool CONFIGURATION (messages, conditions) → Define in \"tools\" array\n- Tool USAGE EVALUATION → Define here ONLY when it's a business objective"
FieldViolation:
properties:
field:
type: string
title: Field
description: Dot-separated path to the invalid field (e.g. `phone_number.country_code`).
examples:
- phone_number.country_code
message:
type: string
title: Message
description: Human-readable description of the violation.
examples:
- Must start with +
additionalProperties: false
type: object
required:
- field
- message
title: FieldViolation
SarjF5TTSSettings:
properties:
provider:
type: string
const: sarj_f5
title: Provider
voice:
$ref: '#/components/schemas/SarjF5TTSVoice'
default: Male
type: object
required:
- provider
title: SarjF5TTSSettings
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ChatCallInput:
properties:
app_settings:
anyOf:
- $ref: '#/components/schemas/GlobalOverriddenSettings'
- $ref: '#/components/schemas/GlobalDefaultSettings'
title: App Settings
language:
$ref: '#/components/schemas/Language'
scenario:
$ref: '#/components/schemas/CustomScenario'
type: object
required:
- language
- scenario
title: ChatCallInput
CreateCallRequest:
properties:
phone_number:
type: string
title: Phone Number
description: Phone number to call in E.164 format.
examples:
- '+966512345678'
scenario_id:
type: string
minLength: 1
title: Scenario Id
description: ID of the scenario to use for this call.
variables:
additionalProperties: true
type: object
title: Variables
description: Template variables to inject into the scenario.
language:
$ref: '#/components/schemas/Language'
description: Language for the call. Defaults to Arabic (ar) if not specified.
default: ar
additionalProperties: false
type: object
required:
- phone_number
- scenario_id
title: CreateCallRequest
CallNotCompletedType:
type: string
enum:
- failed
- automation
- user_rejected
- user_unavailable
- no_answer
- rejected_by_carrier
- invalid_number
- sip_trunk_failure
title: CallNotCompletedType
SallaToolsBundleConfiguration:
properties:
tool_slug:
type: string
const: salla-tools
title: Tool Slug
functionalities_enabled_map:
additionalProperties:
type: boolean
propertyNames:
$ref: '#/components/schemas/SallaCustomerFacingFunctionality'
type: object
title: Functionalities Enabled Map
description: 'Important: all functionalities must be mapped to a True/False value. Missing parameters are ambiguous and could cause errors.'
examples:
- browse-logistics: true
browse-products: true
read-previous-orders: true
type: object
required:
- tool_slug
- functionalities_enabled_map
title: SallaToolsBundleConfiguration
description: 'Enables Salla e-commerce platform integration for the voice agent.
NOTE: Requires a functional Salla integration configured for the organization.'
OpenAITTSModels:
type: string
enum:
- gpt-4o-mini-tts
- tts-1
- tts-1-hd
title: OpenAITTSModels
ScheduleConfiguration:
properties:
timezone:
type: string
title: Timezone
description: IANA timezone (e.g., 'America/New_York')
schedule:
additionalProperties:
$ref: '#/components/schemas/TimeRangeDayConfiguration'
propertyNames:
$ref: '#/components/schemas/WeekDay'
type: object
title: Schedule
type: object
required:
- timezone
- schedule
title: ScheduleConfiguration
Schema:
properties:
fields:
items:
anyOf:
- $ref: '#/components/schemas/GlobalVariableField'
- $ref: '#/components/schemas/ScenarioRequiredField'
- $ref: '#/components/schemas/ScenarioOptionalField'
type: array
title: Fields
type: object
required:
- fields
title: Schema
ScenarioInsightAnalysisMessage:
properties:
type:
type: string
const: scenario_insight_analysis
title: Type
default: scenario_insight_analysis
call_id:
type: string
title: Call Id
type: object
required:
- call_id
title: ScenarioInsightAnalysisMessage
CustomApiToolParameters:
properties:
tool_slug:
type: string
const: custom-api
title: Tool Slug
name:
type: string
minLength: 1
title: Name
description: Unique identifier for the API tool
examples:
- order_lookup
- booking_check
title:
type: string
minLength: 1
title: Title
description: Human-readable title for the API
examples:
- Order Lookup
- Check Booking Status
description:
type: string
title: Description
description: Description of what this API doe
# --- truncated at 32 KB (176 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sarj-ai-developer-api/refs/heads/main/openapi/sarj-ai-developer-api-calls-api-openapi.yml