Sonetel · Schema
Call-recording-list
CompanyTelephonyPhone NumbersVoIPCommunicationsSMSCall RecordingSmall Business
Properties
| Name | Type | Description |
|---|---|---|
| resource | string | The name of the resource this response is from. |
| status | string | The status of the response i.e. success or failed. |
| response | array | Response object with the details of the call recordings |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/sonetel/main/json-schema/sonetel-call-recording-list-schema.json",
"title": "Call-recording-list",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/sonetel-recorded-calls-openapi.yml#/components/schemas/Call-recording-list",
"type": "object",
"properties": {
"resource": {
"type": "string",
"description": "The name of the resource this response is from.",
"minLength": 1
},
"status": {
"type": "string",
"description": "The status of the response i.e. success or failed.",
"minLength": 1
},
"response": {
"type": "array",
"description": "Response object with the details of the call recordings",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"call_recording_id": {
"type": "string",
"description": "Unique ID assigned to identify each call recording.",
"minLength": 1
},
"type": {
"type": "string",
"description": "The type of call recording. Only `voice_call` supported at the moment.",
"minLength": 1
},
"account_id": {
"type": "number",
"description": "Your Sonetel account ID"
},
"user_id": {
"type": "string",
"description": "If the call recording is assigned to a user, this property lists the user_id."
},
"created_date": {
"type": "string",
"description": "The timestamp when the call recording was created.",
"minLength": 1
},
"file": {
"type": "object",
"description": "Details of the call recording file object such as the size, download URL and so on.",
"properties": {
"type": {
"type": "string",
"description": "File type such as mp3, etc.",
"minLength": 1
},
"size": {
"type": "number",
"description": "File size in bytes."
},
"file_id": {
"type": "string",
"description": "Unique file ID.",
"minLength": 1
},
"file_access_details": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Link to download the file.",
"minLength": 1
},
"issued_at": {
"type": "string",
"description": "Timestamp when the download link was created.",
"minLength": 1
},
"expires_at": {
"type": "string",
"description": "Timestamp when the download link will expire.",
"minLength": 1
}
},
"required": [
"url",
"issued_at",
"expires_at"
]
}
},
"required": [
"type",
"size",
"file_id",
"file_access_details"
]
},
"voice_call_details": {
"type": "object",
"description": "Details of the call that was recorded.",
"properties": {
"from": {
"type": "string",
"description": "'The entity that initiated the call. Can be a PSTN number, a user, etc.",
"minLength": 1
},
"to": {
"type": "string",
"description": "The entity to which the call was placed.",
"minLength": 1
},
"codec": {
"type": "string",
"description": "The codec that was use to connect the call.",
"minLength": 1
},
"usage_record_id": {
"type": "number",
"description": "Unique ID assigned to this call record (CDR)"
},
"start_time": {
"type": "string",
"description": "The time when the call started."
},
"end_time": {
"type": "string",
"description": "The time when the call ended.",
"minLength": 1
},
"call_length": {
"type": "number",
"description": "The duration of the call in seconds."
},
"from_type": {
"type": "string",
"description": "The type of entity that initiated the call. For example `user`, `phonenumber`.",
"minLength": 1
},
"from_name": {
"type": "string",
"description": "If a user initiated the call, their name is listed here otherwise it shows the phone number of the source.",
"minLength": 1
},
"caller_id": {
"type": "string",
"description": "The caller ID that was displayed to the recipient.",
"minLength": 1
},
"to_type": {
"type": "string",
"description": "The entity that answered the call such as `user`, `phonenumber`, etc.",
"minLength": 1
},
"to_name": {
"type": "string",
"description": "A name or phone number identifying the destination.",
"minLength": 1
},
"to_orig": {
"type": "string",
"description": "A unique identifier for the destination.",
"minLength": 1
}
},
"required": [
"from",
"to",
"codec",
"usage_record_id",
"start_time",
"end_time",
"call_length",
"from_type",
"from_name",
"caller_id",
"to_type",
"to_name",
"to_orig"
]
},
"summary": {
"$ref": "#/$defs/Call-summary",
"description": "The Sonetel AI generated call summary.\r\nIf this object is not included in the response, it indicates that the summary was not requested or possible"
}
},
"required": [
"call_recording_id",
"type",
"account_id",
"user_id",
"created_date"
]
}
}
},
"required": [
"resource",
"status",
"response"
],
"$defs": {
"Call-summary": {
"type": "object",
"title": "Call-summary",
"description": "Call summary generated by Sonetel AI",
"properties": {
"text_id": {
"type": "string",
"description": "The unique `text_id` of the call summary.\r\nThe text_id can be used to retrieve details of the summary from the [Sonetel Text manager](reference/13_ai_textmanager.yaml)",
"readOnly": true
},
"file_id": {
"type": "string",
"description": "The unique `file_id` of the call recording in the [Sonetel file manager](reference/15_ai_filemanager.yaml)\r\nFile_id is used by Sonetel AI services as a reference to the call recording for generating summaries.",
"readOnly": true
},
"about": {
"type": "string",
"description": "A short Sonetel AI generated string that identifies what the call is about.",
"readOnly": true
},
"score": {
"type": "number",
"description": "A score(1 to 5) assigned by Sonetel AI to the call recording based on an analysis of the call.",
"format": "float",
"minimum": 0,
"maximum": 5,
"readOnly": true
},
"status": {
"type": "string",
"enum": [
"not_requested",
"in_progress",
"ready",
"failed",
"retry"
],
"description": "The status of the call summary generation\r\n\r\n`not_requested`: The summary has not yet been not_requested\r\n\r\n`in_progress`: The summary generation is in progress\r\n\r\n`ready`: The summary is ready. The summary can be fetched using the `text_id` from the [text manager](reference/13_ai_textmanager.yaml)\r\n\r\n`failed`: The summary was requested and has failed. It is not possible to summarize this recording.\r\n\r\n`retry`: The summary was requested and failed. The summary can be requested again.",
"readOnly": true
},
"error_code": {
"type": "string",
"description": "An error code that identifies the last error during summary generation."
},
"error_date": {
"type": "string",
"description": "The date and time when the last error occured during summary generation",
"format": "date-time"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/sonetel-call-recording-list"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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.