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

# List skill versions

> Return the current stored version descriptor for a skill.

`GET /api/v1/cloud/skills/{skill_id}/versions`

Returns the current stored version descriptor for the specified skill as a `data` array.

## Path parameters

| Parameter  | Type   | Required | Description             |
| ---------- | ------ | -------- | ----------------------- |
| `skill_id` | string | Yes      | Skill unique identifier |

## Headers

| Header          | Required | Description         |
| --------------- | -------- | ------------------- |
| `Authorization` | Yes      | `Bearer $QODER_PAT` |

## Example request

```bash theme={null}
curl -X GET https://api.qoder.com/api/v1/cloud/skills/skill_019e3bba474b73cfaf19eae9b5f5e66d/versions \
  -H "Authorization: Bearer $QODER_PAT"
```

## Example response

**HTTP 200 OK**

```json theme={null}
{
  "data": [
    {
      "version": "1",
      "skill_id": "skill_019e3bba474b73cfaf19eae9b5f5e66d",
      "status": "active",
      "content_size": 309,
      "content_sha256": "f253cb7d35790025f85917c0c239422cff1de067d00278db8897c585a3f28d94",
      "created_at": "2026-05-18T15:35:24.248164Z",
      "updated_at": "2026-05-18T15:36:01.767469Z"
    }
  ]
}
```

## Response fields

| Field  | Type  | Description                                                                             |
| ------ | ----- | --------------------------------------------------------------------------------------- |
| `data` | array | Array of [Skill version objects](/cloud-agents/api/skills/schemas#skill-version-object) |

### SkillVersion object

| Field            | Type    | Description                                       |
| ---------------- | ------- | ------------------------------------------------- |
| `version`        | string  | Version number (string format, e.g. `"1"`, `"2"`) |
| `skill_id`       | string  | Owning Skill ID                                   |
| `status`         | string  | Version status: `active`                          |
| `content_size`   | integer | Size of the version's zip content in bytes        |
| `content_sha256` | string  | SHA-256 hash of the version's content             |
| `created_at`     | string  | Version creation time (ISO 8601)                  |
| `updated_at`     | string  | Version last-update time (ISO 8601)               |

## Errors

| HTTP | Type              | Trigger                                         |
| ---- | ----------------- | ----------------------------------------------- |
| 401  | `TOKEN_INVALID`   | Missing or invalid authentication token         |
| 404  | `not_found_error` | Skill does not exist or is no longer accessible |

## Notes

* Version numbers are returned as strings (such as `"1"`).
* The current implementation returns the active Skill's current version descriptor.
* Updating `content` through `PUT /api/v1/cloud/skills/{skill_id}` increments the version number.
* Updating metadata only does not increment the version.

See [Errors](/cloud-agents/api/conventions/errors) for the full error envelope.

## Related

<CardGroup cols={2}>
  <Card title="Agent Skills" icon="sparkles" href="/cloud-agents/skills">
    Attach domain expertise to your agent.
  </Card>
</CardGroup>
