---
title: "Create a meeting session artifact"
method: POST
path: "/meeting_sessions/{id}/artifacts"
tags: ["Meeting Session Artifacts"]
---

# Create a meeting session artifact

`POST /meeting_sessions/{id}/artifacts`

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.

## Path parameters

- `id` string, required

## Request body

- union — One of two shapes: a named type on its own, or `custom` with the prompt it answers.
  - object
    - `type` 'summary' | 'action_items' | 'decisions' | 'topics' | 'open_questions', required — What to generate from the transcript. `custom` is answered from a `prompt` you supply; the five named types need none.
  - object
    - `type` 'custom', required — Answered from the `prompt` below rather than a fixed question.
    - `prompt` string, required — 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.

## Response `202`

Artifact creation accepted and is being processed asynchronously.

- MeetingSessionArtifactResponse
  - `data` MeetingSessionArtifact, required
    - `id` string, required
    - `session_id` string, required
    - `type` 'summary' | 'action_items' | 'decisions' | 'topics' | 'open_questions' | 'custom', required
    - `status` 'pending' | 'completed' | 'failed', required
    - `content` ArtifactContent, required
      - `text` string, required
    - `model_provenance` ModelProvenance, required
      - `model` string, required
      - `provider` string, required
    - `failure_reason` string, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `prompt` string, nullable, required — 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`.

## Other responses

- `400` — Bad Request
- `401` — 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.
- `403` — The authenticated credential is not permitted to perform this operation.
- `404` — Not Found
- `409` — Conflict
- `413` — Payload Too Large
- `429` — Authentication is temporarily overloaded. Retry after the number of seconds in `Retry-After`.
- `500` — Internal Server Error
- `503` — Artifact generation or authentication is not configured or temporarily unavailable.

## Changes

> 93 revisions in range; 1 not diffed.

- **2026-09-23** `cdb64ddf086f` — 1 breaking, 5 warning, 2 info
  - the request's body type changed from `object` to no type
  - removed the request property `type`
  - added the new `custom` enum value to the `data/type` response property for the response status `202`
  - added the new `decisions` enum value to the `data/type` response property for the response status `202`
  - …4 more
- **2026-08-17** `1571b0380bd7` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/changes/meeting_sessions/:id/artifacts/post.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/revisions/88481995b4ca?raw)
