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

# Get Pack

> Retrieve pack metadata and ordered image list

Fetches one pack visible to the authenticated key scope.

## Path Parameters

<ParamField path="packId" type="string" required>
  Pack UUID.
</ParamField>

## Response

<ResponseField name="id" type="string" />

<ResponseField name="name" type="string" />

<ResponseField name="image_count" type="number" />

<ResponseField name="is_public" type="boolean" />

<ResponseField name="created_at" type="string" />

<ResponseField name="images" type="array">
  Ordered by `created_at` ascending.

  <Expandable title="Pack Image Object">
    <ResponseField name="id" type="string" />

    <ResponseField name="url" type="string" />

    <ResponseField name="metadata" type="object">
      AI-generated enrichment for retrieval quality.

      <Expandable title="Image Metadata">
        <ResponseField name="status" type="string" />

        <ResponseField name="description" type="string | null" />

        <ResponseField name="keywords" type="string[]" />

        <ResponseField name="model" type="string | null" />

        <ResponseField name="generated_at" type="string | null" />

        <ResponseField name="error" type="string | null" />
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url https://www.genviral.io/api/partner/v1/packs/11111111-1111-1111-1111-111111111111 \
    --header 'Authorization: Bearer <token>'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "ok": true,
    "code": 200,
    "message": "Pack retrieved",
    "data": {
      "id": "11111111-1111-1111-1111-111111111111",
      "name": "Motivation Pack",
      "image_count": 2,
      "is_public": false,
      "created_at": "2026-02-14T09:00:00.000Z",
      "images": [
        {
          "id": "22222222-2222-2222-2222-222222222222",
          "url": "https://cdn.example.com/packs/motivation/01.jpg",
          "metadata": {
            "status": "completed",
            "description": "Woman lifting dumbbells in a bright, minimal gym environment.",
            "keywords": ["fitness", "workout", "strength", "gym", "motivation", "healthy lifestyle"],
            "model": "gpt-4.1-nano",
            "generated_at": "2026-02-17T11:02:00.000Z",
            "error": null
          }
        },
        {
          "id": "33333333-3333-3333-3333-333333333333",
          "url": "https://cdn.example.com/packs/motivation/02.jpg",
          "metadata": {
            "status": "pending",
            "description": null,
            "keywords": [],
            "model": "gpt-4.1-nano",
            "generated_at": null,
            "error": null
          }
        }
      ]
    }
  }
  ```
</ResponseExample>

## Error Responses

* `400 missing_pack_id` - path param missing
* `404 not_found` - pack is missing/outside key scope
* `401` - authentication failed (missing/invalid/revoked token)
* `402 subscription_required` - active Creator/Professional/Business plan required
* `403 tier_not_allowed` - Scheduler tier cannot use Partner API
* `500 pack_get_failed` - unexpected retrieval failure
