Telnyx Meeting Session Artifacts API
Create and retrieve asynchronous summaries and action-item artifacts.
Create and retrieve asynchronous summaries and action-item artifacts.
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/telnyx:telnyx-meeting-session-artifacts-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:
version: 2.0.0
x-latency-category: responsive
x-endpoint-cost: light
title: Telnyx Meeting Session Artifacts API
description: SIP trunking, SMS, MMS, Call Control and Telephony Data Services.
contact:
email: support@telnyx.com
servers:
- url: https://api.telnyx.com/v2
description: Version 2.0.0 of the Telnyx API
security:
- bearerAuth: []
tags:
- name: Meeting Session Artifacts
description: Create and retrieve asynchronous summaries and action-item artifacts.
paths:
/meeting_sessions/{id}/artifacts:
get:
operationId: listMeetingSessionArtifacts
tags:
- Meeting Session Artifacts
summary: List meeting session artifacts
description: Returns a list of artifacts for a meeting session.
parameters:
- $ref: '#/components/parameters/MeetingSessionId'
responses:
'200':
description: Successful response with a list of meeting session artifacts.
content:
application/json:
schema:
$ref: '#/components/schemas/MeetingSessionArtifactListResponse'
'401':
$ref: '#/components/responses/meeting-sessions_Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/meeting-sessions_NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/meeting-sessions_InternalServerError'
'503':
$ref: '#/components/responses/MeetingReadAuthUnavailable'
post:
operationId: createMeetingSessionArtifact
tags:
- Meeting Session Artifacts
summary: Create a meeting session artifact
description: 'Requests asynchronous generation of one artifact: `summary`, `action_items`, `decisions`, `topics`, `open_questions`, or `custom`. Each request produces one artifact. `custom` is answered from a `prompt` you supply, which is required for `custom` and rejected on the five named types. Generation requires transcript content and configured inference and currently reads at most the first 10,000 segments, so exceptionally long transcripts may produce incomplete artifacts or fail model limits. **Not idempotent, and every call is billed**: each request is a separate inference run, so a retry or a duplicate POST produces a second artifact and a second charge. Guard the call rather than relying on the service to collapse it. The automatic `summarize_on_end` attempt is billed on the same basis.'
parameters:
- $ref: '#/components/parameters/MeetingSessionId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMeetingSessionArtifactRequest'
example:
type: summary
responses:
'202':
description: Artifact creation accepted and is being processed asynchronously.
content:
application/json:
schema:
$ref: '#/components/schemas/MeetingSessionArtifactResponse'
'400':
$ref: '#/components/responses/meeting-sessions_BadRequest'
'401':
$ref: '#/components/responses/meeting-sessions_Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/meeting-sessions_NotFound'
'409':
$ref: '#/components/responses/meeting-sessions_Conflict'
'413':
$ref: '#/components/responses/PayloadTooLarge'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/meeting-sessions_InternalServerError'
'503':
$ref: '#/components/responses/MeetingArtifactUnavailable'
/meeting_sessions/{id}/artifacts/{artifact_id}:
get:
operationId: retrieveMeetingSessionArtifact
tags:
- Meeting Session Artifacts
summary: Retrieve a meeting session artifact
description: Retrieves a single meeting session artifact by ID.
parameters:
- $ref: '#/components/parameters/MeetingSessionId'
- $ref: '#/components/parameters/ArtifactId'
responses:
'200':
description: Successful response with the meeting session artifact.
content:
application/json:
schema:
$ref: '#/components/schemas/MeetingSessionArtifactResponse'
'401':
$ref: '#/components/responses/meeting-sessions_Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/meeting-sessions_NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/meeting-sessions_InternalServerError'
'503':
$ref: '#/components/responses/MeetingReadAuthUnavailable'
components:
responses:
meeting-sessions_BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: invalid_request
message: request is invalid
PayloadTooLarge:
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: invalid_request
message: request body too large
MeetingArtifactUnavailable:
description: Artifact generation or authentication is not configured or temporarily unavailable.
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: not_configured
message: artifact generation is not configured
TooManyRequests:
description: Authentication is temporarily overloaded. Retry after the number of seconds in `Retry-After`.
headers:
Retry-After:
required: true
description: Seconds to wait before retrying.
schema:
type: integer
minimum: 1
maximum: 5
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: auth_overloaded
message: authentication temporarily overloaded
meeting-sessions_NotFound:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: not_found
message: meeting session not found
meeting-sessions_Conflict:
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: invalid_state
message: only scheduled sessions can be updated
meeting-sessions_InternalServerError:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: internal_error
message: internal server error
meeting-sessions_Unauthorized:
description: 'Unauthorized. On api.telnyx.com, authentication is enforced by the API gateway before the request reaches the Meeting service, so a missing or invalid API key returns the standard Telnyx error envelope (`{"errors": [{"code": "10009", ...}]}`) rather than the single-`error` shape below.'
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: unauthorized
message: invalid or missing credentials
MeetingReadAuthUnavailable:
description: Authentication is temporarily unavailable.
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: auth_unavailable
message: authentication service unavailable
Forbidden:
description: The authenticated credential is not permitted to perform this operation.
content:
application/json:
schema:
$ref: '#/components/schemas/meeting-sessions_ErrorResponse'
example:
error:
code: forbidden
message: credential is not permitted
schemas:
ModelProvenance:
type: object
additionalProperties: false
required:
- model
- provider
properties:
model:
type: string
provider:
type: string
MeetingSessionArtifact:
type: object
required:
- id
- session_id
- type
- status
- content
- model_provenance
- failure_reason
- created_at
- updated_at
- prompt
properties:
id:
type: string
session_id:
type: string
type:
type: string
enum:
- summary
- action_items
- decisions
- topics
- open_questions
- custom
status:
type: string
enum:
- pending
- completed
- failed
content:
anyOf:
- $ref: '#/components/schemas/ArtifactContent'
- type: 'null'
model_provenance:
anyOf:
- $ref: '#/components/schemas/ModelProvenance'
- type: 'null'
failure_reason:
type:
- string
- 'null'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
prompt:
anyOf:
- type: string
- type: 'null'
description: The prompt that produced this artifact, or null for a named type. Non-null only when `type` is `custom`; the five named types always return `null`.
examples:
- id: mtgart_550e8400-e29b-41d4-a716-446655440000
session_id: mtgsess_550e8400-e29b-41d4-a716-446655440001
type: action_items
status: pending
content: null
model_provenance: null
failure_reason: null
created_at: '2025-01-15T10:30:00Z'
updated_at: '2025-01-15T10:30:00Z'
prompt: null
- id: mtgart_550e8400-e29b-41d4-a716-446655440002
session_id: mtgsess_550e8400-e29b-41d4-a716-446655440001
type: summary
status: completed
content:
text: The team reviewed project goals and agreed on next steps.
model_provenance:
model: example-model
provider: example-provider
failure_reason: null
created_at: '2025-01-15T10:30:00Z'
updated_at: '2025-01-15T10:31:00Z'
prompt: null
additionalProperties: false
MeetingSessionArtifactListResponse:
type: object
additionalProperties: false
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/MeetingSessionArtifact'
meeting-sessions_ErrorResponse:
type: object
additionalProperties: false
required:
- error
properties:
error:
type: object
additionalProperties: false
required:
- code
- message
properties:
code:
type: string
message:
type: string
examples:
- error:
code: invalid_request
message: webhook_url is disabled
- error:
code: not_found
message: meeting session not found
- error:
code: unsupported_capability
message: avatar video is not supported on platform 'unknown'
- error:
code: internal_error
message: internal server error
ArtifactContent:
type: object
additionalProperties: false
required:
- text
properties:
text:
type: string
MeetingSessionArtifactResponse:
type: object
additionalProperties: false
required:
- data
properties:
data:
$ref: '#/components/schemas/MeetingSessionArtifact'
CreateMeetingSessionArtifactRequest:
title: CreateMeetingSessionArtifactRequest
description: 'One of two shapes: a named type on its own, or `custom` with the prompt it answers.'
oneOf:
- title: Named artifact
type: object
additionalProperties: false
required:
- type
properties:
type:
type: string
enum:
- summary
- action_items
- decisions
- topics
- open_questions
description: What to generate from the transcript. `custom` is answered from a `prompt` you supply; the five named types need none.
- title: Custom artifact
type: object
additionalProperties: false
required:
- type
- prompt
properties:
type:
type: string
const: custom
description: Answered from the `prompt` below rather than a fixed question.
prompt:
type: string
minLength: 1
maxLength: 4000
description: An open-ended request answered from the transcript. Required when `type` is `custom`, and rejected with 400 on any named type. Trimmed before storage and echoed back in artifact responses and the `artifact.completed` webhook.
parameters:
ArtifactId:
name: artifact_id
in: path
required: true
description: Unique identifier for a meeting session artifact.
schema:
type: string
examples:
- mtgart_b2c3d4e5-f6a7-8901-bcde-f23456789012
MeetingSessionId:
name: id
in: path
required: true
description: Unique identifier for the meeting session.
schema:
type: string
examples:
- mtgsess_a1b2c3d4-e5f6-7890-abcd-ef1234567890
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: API key
description: 'Telnyx API key supplied as `Authorization: Bearer <token>`. In production, auth may be validated by the API gateway and forwarded via Telnyx auth headers.'
Payment:
type: apiKey
in: header
name: Authorization
description: 'Machine Payment Protocol credential used on paid retries, sent as `Authorization: Payment ...`. Obtained by paying a challenge returned in the `WWW-Authenticate` header of a 402 response. This is not a Telnyx API key; initial challenge requests use standard bearer authentication instead.'
agent-memory_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key
bearerAuth:
type: http
scheme: bearer
branded-calling_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
collections_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Collections and results are automatically scoped to the authenticated user's organization.
number-reputation_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
oauthClientAuth:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.telnyx.com/v2/oauth/token
scopes:
admin: Administrative access to Telnyx resources
authorizationCode:
authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
tokenUrl: https://api.telnyx.com/v2/oauth/token
refreshUrl: https://api.telnyx.com/v2/oauth/token
scopes:
admin: Administrative access to Telnyx resources
description: OAuth 2.0 authentication for Telnyx API and MCP integrations
outbound-voice-profiles_bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
pronunciation-dicts_bearerAuth:
type: http
scheme: bearer
description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
rcs-registration_bearerAuth:
type: http
scheme: bearer
bearerFormat: API key
stored-payment-transactions_bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
transcriptions-search_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Results are automatically scoped to the authenticated user's organization.
web-search_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key
x-service-info:
categories:
- communication
- developer-tools
docs:
apiReference: https://developers.telnyx.com
homepage: https://telnyx.com
llms: https://telnyx.com/llms.txt