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

# Get Theme

> Retrieve a single theme

# Get Theme

Returns a single theme by its ID.

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.launchmystore.io/api/v1/themes/1f2e3d4c-5b6a-7980-a1b2-c3d4e5f60718.json" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.launchmystore.io/api/v1/themes/1f2e3d4c-5b6a-7980-a1b2-c3d4e5f60718.json', {
    headers: {
      'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
    }
  });
  ```
</CodeGroup>

## Path Parameters

<ParamField path="id" type="string" required>
  The unique theme ID
</ParamField>

## Response

The response uses the standard envelope. The theme is nested under `data.theme`.

<ResponseField name="status" type="integer">
  HTTP status code (e.g., `200`)
</ResponseField>

<ResponseField name="state" type="string">
  Result state — `success` on success, `error` on failure
</ResponseField>

<ResponseField name="message" type="string">
  Human-readable message, or `null` on success
</ResponseField>

<ResponseField name="data.theme" type="object">
  Theme object

  <Expandable title="Theme Object">
    <ResponseField name="id" type="string">
      Unique theme ID
    </ResponseField>

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

    <ResponseField name="version" type="string">
      Theme version number
    </ResponseField>

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

    <ResponseField name="createdAt" type="string">
      Creation timestamp (ISO 8601)
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      Last update timestamp (ISO 8601)
    </ResponseField>

    <ResponseField name="description" type="string">
      Theme description (only present if set)
    </ResponseField>

    <ResponseField name="documentation_url" type="string">
      Documentation URL (only present if set)
    </ResponseField>

    <ResponseField name="support_url" type="string">
      Support URL (only present if set)
    </ResponseField>

    <ResponseField name="thumbnail" type="string">
      Thumbnail reference (only present if set)
    </ResponseField>
  </Expandable>
</ResponseField>

## Example Response

```json theme={null}
{
  "status": 200,
  "state": "success",
  "message": null,
  "data": {
    "theme": {
      "id": "1f2e3d4c-5b6a-7980-a1b2-c3d4e5f60718",
      "name": "Aqua",
      "version": "1.0.0",
      "author": "LaunchMyStore",
      "createdAt": "2024-01-15T10:00:00.000Z",
      "updatedAt": "2024-03-15T14:30:00.000Z"
    }
  },
  "count": null,
  "pagination": null
}
```

## Error Response

```json theme={null}
{
  "status": 404,
  "state": "error",
  "message": "Theme not found",
  "data": null
}
```

| Status | Description                                |
| ------ | ------------------------------------------ |
| `401`  | Invalid or missing access token            |
| `403`  | App doesn't have `read_themes` scope       |
| `404`  | Theme with the specified ID does not exist |
