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

# List all inventory uploads for your organization

> Retrieve all hotel inventory uploads for your organization, with pagination. Returns summaries including status, row counts, and file metadata for each upload.

Use this endpoint to get a paginated list of all inventory uploads associated with your organization. Results are returned as summaries — use `GET /api/v1/inventory/{uploadId}` if you need full detail on a specific upload.

## Request

**`GET https://api.mapping.travel/api/v1/inventory`**

<ParamField query="page" type="integer">
  Page number to retrieve, zero-indexed. Defaults to `0`.
</ParamField>

<ParamField query="size" type="integer">
  Number of results per page. Defaults to `20`. Maximum is `100`. Values above 100 are clamped to 100.
</ParamField>

## Example

<CodeGroup>
  ```bash First page (default) theme={null} theme={null}
  curl "https://api.mapping.travel/api/v1/inventory" \
    -H "Authorization: Bearer <your-token>"
  ```

  ```bash Second page of 50 results theme={null} theme={null}
  curl "https://api.mapping.travel/api/v1/inventory?page=1&size=50" \
    -H "Authorization: Bearer <your-token>"
  ```
</CodeGroup>

## Response

<ResponseField name="inventories" type="array">
  List of inventory summary objects for the requested page.

  <Expandable title="inventory object fields">
    <ResponseField name="uploadId" type="string">
      UUID of the upload record.
    </ResponseField>

    <ResponseField name="filename" type="string">
      Original filename of the uploaded file.
    </ResponseField>

    <ResponseField name="fileFormat" type="string">
      File format: `CSV`, `JSON`, `EXCEL`, or `PARQUET`.
    </ResponseField>

    <ResponseField name="status" type="string">
      Current status: `PENDING`, `PROCESSING`, `COMPLETED`, `FAILED`, or `CANCELLED`.
    </ResponseField>

    <ResponseField name="rowCount" type="integer">
      Total number of rows in the file.
    </ResponseField>

    <ResponseField name="validRows" type="integer">
      Number of rows that passed validation.
    </ResponseField>

    <ResponseField name="invalidRows" type="integer">
      Number of rows that failed validation.
    </ResponseField>

    <ResponseField name="isActive" type="boolean">
      Whether this inventory is currently active and in use for mapping.
    </ResponseField>

    <ResponseField name="supplierCode" type="string">
      The supplier code associated with this upload, if one was provided.
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      ISO 8601 timestamp of when the upload was submitted.
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      ISO 8601 timestamp of the most recent update.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="page" type="integer">
  The current page number (zero-indexed).
</ResponseField>

<ResponseField name="size" type="integer">
  The number of results returned on this page.
</ResponseField>

<ResponseField name="totalElements" type="integer">
  Total number of inventory records across all pages.
</ResponseField>

<ResponseField name="totalPages" type="integer">
  Total number of pages available at the current page size.
</ResponseField>

## Error codes

| Code | Description                     |
| ---- | ------------------------------- |
| 401  | Missing or invalid Bearer token |
| 429  | Rate limit exceeded             |
