---
title: "List agent session artifacts"
method: GET
path: "/agents/sessions/{session_id}/artifacts"
tags: ["Agents"]
---

# List agent session artifacts

`GET /agents/sessions/{session_id}/artifacts`

## Request

- Base URL: `https://api.openai.com/v1`
- URL: `https://api.openai.com/v1/agents/sessions/{session_id}/artifacts`
- Auth: HTTP bearer

Lists immutable artifacts published by completed hosted session turns. See [session artifacts](https://developers.openai.com/api/docs/guides/agents-api/environments/files#openai-hosted-artifacts).

## Path parameters

- `session_id` string, required

## Query parameters

- `limit` integer
- `order` 'asc' | 'desc': The order in which paginated resources are returned.
- `after` string
- `environment_id` string, nullable

## Response `200`

A page of durable session artifacts.

- SessionArtifactListResource: A page of Agents API resources, with IDs for retrieving additional pages.
  - `object` 'list', required: The object type, which is always `list`.
  - `data` SessionArtifactResource[], required: The resources returned in this page, in the requested sort order.
    - `id` string, required: The immutable artifact ID.
    - `object` 'agent.session.artifact', required: The object type. Always `agent.session.artifact`.
    - `session_id` string, required: The ID of the session that owns the artifact.
    - `environment_id` string, required: The ID of the environment that produced the artifact.
    - `turn_id` string, required: The ID of the completed turn that published the artifact.
    - `path` string, required: The original absolute file path in the execution environment.
    - `size_bytes` integer, required: The immutable artifact size in bytes.
    - `created_at` integer, required: The Unix timestamp, in seconds, when the artifact was published.
  - `first_id` string, nullable, required: The ID of the first resource in `data`, or `null` if the page is empty.
  - `last_id` string, nullable, required: The ID of the last resource in `data`, or `null` if the page is empty. Pass this as `after` with the same order and filters.
  - `has_more` boolean, required: Whether there are more resources to retrieve after this page.

## Other responses

- `400`: The request was invalid.
- `401`: Authentication or project context was missing.
- `403`: The API key lacks the required permission.
- `404`: The requested session or event was not found.
- `409`: The request conflicted with the current session state.
- `500`: An internal error occurred.
- `503`: The service is temporarily unavailable.

## Changes

- **2026-10-08** `051b70dab8dd`: 2 breaking
  - for the `query` request parameter `limit`, default value `20` was added
  - for the `query` request parameter `order`, default value `desc` was added
- **2026-10-05** `7f654af7f94f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omnistack-sh/apis/openai-api/changes/agents/sessions/:session_id/artifacts/get.md)

---

[API](https://skmtc.dev/omnistack-sh/apis/openai-api.md) - [All operations](https://skmtc.dev/omnistack-sh/apis/openai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnistack-sh/apis/openai-api/revisions/0a26f104d35f?raw)
