> ## 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 mapping jobs for your organization

> Retrieve a paginated list of all mapping jobs for your organization. Each item includes the job status, mode, matched count, and unmatched count.

Use this endpoint to browse the mapping job history for your organization. Results are paginated and include the status and summary counts for each job. You can use the returned `mappingJobId` values to fetch detailed status or search results for individual jobs.

## Request

```bash theme={null} theme={null}
GET https://api.mapping.travel/api/v1/mapping
```

<ParamField query="page" type="number" default="0">
  Page number to retrieve. Pages are 0-indexed, so the first page is `0`.
</ParamField>

<ParamField query="size" type="number" default="20">
  Number of jobs to return per page.
</ParamField>

## Response

<ResponseField name="jobs" type="object[]" required>
  Array of mapping job summaries for the current page.

  <Expandable title="job properties">
    <ResponseField name="mappingJobId" type="string" required>
      UUID of the mapping job.
    </ResponseField>

    <ResponseField name="partnerInventoryId" type="string" required>
      UUID of the partner inventory that was mapped.
    </ResponseField>

    <ResponseField name="status" type="string" required>
      Current job status: `PENDING`, `RUNNING`, `COMPLETED`, or `FAILED`.
    </ResponseField>

    <ResponseField name="mode" type="string" required>
      Mapping mode used: `STANDARD`, `ID_TO_ID`, or `HYBRID`.
    </ResponseField>

    <ResponseField name="rowCount" type="number">
      Total number of hotels in the inventory.
    </ResponseField>

    <ResponseField name="matchedCount" type="number">
      Number of hotels matched to a reference hotel.
    </ResponseField>

    <ResponseField name="unmatchedCount" type="number">
      Number of hotels that could not be matched.
    </ResponseField>

    <ResponseField name="createdAt" type="string" required>
      ISO 8601 timestamp of when the job was created.
    </ResponseField>

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

<ResponseField name="totalJobs" type="number" required>
  Total number of mapping jobs across all pages.
</ResponseField>

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

<ResponseField name="size" type="number" required>
  The number of results per page as requested.
</ResponseField>

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

## Error responses

| Status             | Reason                                     |
| ------------------ | ------------------------------------------ |
| `401 Unauthorized` | Missing or invalid `Authorization` header. |

## Example

<RequestExample>
  ```bash cURL theme={null} theme={null}
  curl --request GET \
    --url 'https://api.mapping.travel/api/v1/mapping?page=0&size=20' \
    --header 'Authorization: Bearer <token>'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null} theme={null}
  {
    "jobs": [
      {
        "mappingJobId": "f7e6d5c4-b3a2-1098-fedc-ba9876543210",
        "partnerInventoryId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "status": "COMPLETED",
        "mode": "HYBRID",
        "rowCount": 5000,
        "matchedCount": 4750,
        "unmatchedCount": 250,
        "createdAt": "2026-04-25T09:00:00Z",
        "updatedAt": "2026-04-25T09:08:45Z"
      },
      {
        "mappingJobId": "c9d8e7f6-a5b4-3210-dcba-987654321098",
        "partnerInventoryId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "status": "COMPLETED",
        "mode": "STANDARD",
        "rowCount": 1200,
        "matchedCount": 1100,
        "unmatchedCount": 100,
        "createdAt": "2026-04-24T14:30:00Z",
        "updatedAt": "2026-04-24T14:42:10Z"
      }
    ],
    "totalJobs": 47,
    "page": 0,
    "size": 20,
    "totalPages": 3
  }
  ```
</ResponseExample>
