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

# List Storage Items

> List storage items with pagination and filtering

Retrieve a paginated list of storage items with optional filtering and sorting capabilities.

## Authorization

<ParamField header="Authorization" type="string" required>
  Bearer token for authentication. Format: `Bearer <your-api-key>`
</ParamField>

## Required Permission

`STORAGE_READ`

## Query Parameters

<ParamField query="page" type="number" default="1">
  Page number (1-indexed)
</ParamField>

<ParamField query="limit" type="number" default="10">
  Number of items per page (1-100)
</ParamField>

<ParamField query="kind" type="string">
  Filter by file kind. Available values: `image`, `video`, `audio`, `document`
</ParamField>

## Response

<ResponseField name="items" type="StorageItem[]">
  Array of storage items
</ResponseField>

<Expandable title="StorageItem properties">
  <ResponseField name="id" type="string">
    Unique identifier (UUID)
  </ResponseField>

  <ResponseField name="kind" type="string">
    File kind: `image`, `video`, `audio`, or `document`
  </ResponseField>

  <ResponseField name="size" type="number">
    File size in bytes
  </ResponseField>

  <ResponseField name="state" type="string">
    Upload state: `pending` or `complete`
  </ResponseField>

  <ResponseField name="metadata" type="object | null">
    Optional metadata attached to the file
  </ResponseField>

  <ResponseField name="createdAt" type="string">
    ISO 8601 timestamp of creation
  </ResponseField>
</Expandable>

<ResponseField name="total" type="number">
  Total number of items
</ResponseField>

<ResponseField name="page" type="number">
  Current page number
</ResponseField>

<ResponseField name="limit" type="number">
  Items per page
</ResponseField>

<ResponseField name="totalPages" type="number">
  Total number of pages
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.nonefivem.com/cloud/storage/items?page=1&limit=10&kind=image" \
    -H "Authorization: Bearer your-api-key"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api.nonefivem.com/cloud/storage/items?page=1&limit=10&kind=image",
    {
      headers: {
        Authorization: "Bearer your-api-key"
      }
    }
  );
  const result = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "items": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "kind": "image",
        "size": 1048576,
        "state": "complete",
        "metadata": { "userId": "123" },
        "createdAt": "2026-02-01T12:00:00Z"
      }
    ],
    "total": 150,
    "page": 1,
    "limit": 10,
    "totalPages": 15
  }
  ```
</ResponseExample>
