---
title: "List Research Agent session skills"
method: GET
path: "/sessions/agents/{sessionId}/skills"
tags: ["Research Agent"]
---

# List Research Agent session skills

`GET /sessions/agents/{sessionId}/skills`

## Request

- Base URL: `https://elicit.com/api/v2`
- URL: `https://elicit.com/api/v2/sessions/agents/{sessionId}/skills`
- Auth: HTTP bearer

List the public Elicit skills and custom skills available to a Research Agent session. Each entry includes a skill ID, name, description, source, and custom revision ID when applicable. Internal storage locations and skill instructions are not exposed.

This endpoint is owner-only: sharing a session does not grant access to the owner's private skill catalog. Custom skills include personal and organization-shared skills, subject to the owner's current subscription and the agent's 100-skill preload limit. Explicitly attached skills are retained with their pinned revisions. Built-in availability and custom-skill preloading use the most recently used curator sandbox's recorded permissions and bundled selection, including skills withheld by structured-agent layers.

The attached-skill projection is checkpointed and updated incrementally, reading at most 1,000 events per stream per request. While a large uncached history is indexing, when archived history cannot be restored, or before the first curator sandbox specification is recorded, this endpoint returns `503 skills_not_ready` with `Retry-After: 1`. Retry the same request; indexing resumes from its saved checkpoint and never returns a partial catalog.

This is a discovery catalog, not a list of skills the agent has used or a live check of sandbox installation. Catalog changes take effect when the agent next synchronizes its skills. Internal-only Elicit skills are not listed. The whole list is returned without pagination.

### Example

```bash
curl https://elicit.com/api/v2/sessions/agents/{sessionId}/skills \
  -H "Authorization: Bearer elk_live_your_key_here"
```

## Path parameters

- `sessionId` string, uuid, required

## Response `200`

Skills available to the session.

- GetAgentSessionSkillsResponse
  - `sessionId` string, required: Unique identifier for the research agent session.
  - `skills` PublicAgentSessionSkill[], required: Public Elicit skills and custom skills available to the session, deduplicated by skillId. This is a discovery catalog, not a record of skills used or a live sandbox installation check.
    - `skillId` string, required: Identifier for the skill.
    - `source` 'elicit' | 'user', required: Elicit built-in skill or custom skill. Custom skills include the owner's personal and organization-shared skills.
    - `displayName` string, required: Human-readable skill name.
    - `description` string, required: What the skill does and when to use it.
    - `revisionId` string, nullable, required: Custom skill revision available to the session. Null for Elicit skills.
  - `url` string, required: URL to view and continue the session in the Elicit web interface.

## Other responses

- `400`: The session ID is not a valid UUID.
- `401`: Authentication failed. The API key is missing, invalid, revoked, or expired.
- `403`: API access is not available on your current plan. Upgrade to Pro or above to use the API.
- `404`: The session does not exist or is not accessible to you for this operation.
- `429`: Rate limit exceeded. More than 100 requests per minute were received from your IP address; further requests are blocked for 5 minutes.
- `500`: An unexpected error occurred. Retry reads with backoff; before retrying a write, check whether it took effect. See Error Handling for retry guidance.
- `503`: The effective sandbox configuration is not available yet, the attached-skill projection is still indexing, or archived history could not be restored. Retry after the delay in Retry-After.

## Changes

- **2026-10-16** `22847bf7e65d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/elicitlabs/apis/elicit-labs-api/changes/sessions/agents/:sessionId/skills/get.md)

---

[API](https://skmtc.dev/elicitlabs/apis/elicit-labs-api.md) - [All operations](https://skmtc.dev/elicitlabs/apis/elicit-labs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/elicitlabs/apis/elicit-labs-api/revisions/cbbe29509d04?raw)
