> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a meeting session artifact

> Requests asynchronous generation of one `summary` or `action_items` artifact. Each type requires its own request. 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.



## OpenAPI

````yaml /openapi/source/external/meeting-sessions/meeting-sessions.json post /meeting_sessions/{id}/artifacts
openapi: 3.1.0
info:
  title: Telnyx Meeting Sessions API
  version: 2.0.0
  description: >-
    Programmatically create, control, and inspect Telnyx Meeting Sessions,
    including real-time actions, events, transcripts, recordings, and artifacts.
  x-latency-category: interactive
  x-endpoint-cost: light
servers:
  - url: https://api.telnyx.com/v2
security:
  - bearerAuth: []
tags:
  - name: Meeting Sessions
    description: Create, list, retrieve, update, and stop meeting sessions.
  - name: Meeting Session Actions
    description: Send real-time speech and chat actions to an active meeting session.
  - name: Meeting Session Data
    description: >-
      Read lifecycle events, transcript segments, and recordings for a meeting
      session.
  - name: Meeting Session Artifacts
    description: Create and retrieve asynchronous summaries and action-item artifacts.
  - name: Meeting Session Webhooks
    description: Outbound webhook deliveries for meeting session events.
paths:
  /meeting_sessions/{id}/artifacts:
    post:
      tags:
        - Meeting Session Artifacts
      summary: Create a meeting session artifact
      description: >-
        Requests asynchronous generation of one `summary` or `action_items`
        artifact. Each type requires its own request. 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.
      operationId: createMeetingSessionArtifact
      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/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/MeetingArtifactUnavailable'
components:
  parameters:
    MeetingSessionId:
      name: id
      in: path
      required: true
      description: Unique identifier for the meeting session.
      schema:
        type: string
        examples:
          - mtgsess_a1b2c3d4-e5f6-7890-abcd-ef1234567890
  schemas:
    CreateMeetingSessionArtifactRequest:
      title: CreateMeetingSessionArtifactRequest
      type: object
      additionalProperties: false
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - summary
            - action_items
          description: Type of artifact to generate from the session.
    MeetingSessionArtifactResponse:
      type: object
      additionalProperties: false
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/MeetingSessionArtifact'
    MeetingSessionArtifact:
      type: object
      additionalProperties: false
      required:
        - id
        - session_id
        - type
        - status
        - content
        - model_provenance
        - failure_reason
        - created_at
        - updated_at
      properties:
        id:
          type: string
        session_id:
          type: string
        type:
          type: string
          enum:
            - summary
            - action_items
        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
      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'
        - 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'
    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
    ModelProvenance:
      type: object
      additionalProperties: false
      required:
        - model
        - provider
      properties:
        model:
          type: string
        provider:
          type: string
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: invalid_request
              message: request is invalid
    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/ErrorResponse'
          example:
            error:
              code: unauthorized
              message: invalid or missing credentials
    Forbidden:
      description: The authenticated credential is not permitted to perform this operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: forbidden
              message: credential is not permitted
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: not_found
              message: meeting session not found
    Conflict:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: invalid_state
              message: only scheduled sessions can be updated
    PayloadTooLarge:
      description: Payload Too Large
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: invalid_request
              message: request body too large
    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/ErrorResponse'
          example:
            error:
              code: auth_overloaded
              message: authentication temporarily overloaded
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: internal_error
              message: internal server error
    MeetingArtifactUnavailable:
      description: >-
        Artifact generation or authentication is not configured or temporarily
        unavailable.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: not_configured
              message: artifact generation is not configured
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````