Use this endpoint to submit a hotel inventory file for processing. Mapping.Travel accepts CSV, JSON, Excel (.xlsx), and Parquet formats up to 500MB. Once uploaded, use the returnedDocumentation Index
Fetch the complete documentation index at: https://docs.mapping.travel/llms.txt
Use this file to discover all available pages before exploring further.
uploadId to poll for status. Uploading the same file twice returns the same uploadId — the operation is idempotent.
Request
POST https://api.mapping.travel/api/v1/inventory
Content-Type: multipart/form-data
The hotel inventory file to upload. Supported formats: CSV, JSON, Excel (.xlsx), Parquet. Maximum file size is 500MB.
Optional supplier code used for ID-to-ID mapping (e.g.,
expedia, booking). When provided, property IDs in your file are matched against the specified supplier’s ID space.Example
Response
A successful upload returns HTTP201 Created.
UUID identifying this upload record. Use this to check status, download, or cancel.
Initial status of the upload. Will be
PENDING immediately after submission.Original filename as received by the server.
Detected file format:
CSV, JSON, EXCEL, or PARQUET.Total number of data rows detected. May be
0 until processing begins.Number of rows that passed validation. May be
0 until processing completes.Number of rows that failed validation. May be
0 until processing completes.The supplier code provided in the request, if any.
ISO 8601 timestamp of when the upload record was created.
Processing is asynchronous. After receiving a
201, poll GET /api/v1/inventory/{uploadId} to track progress until the status transitions to COMPLETED or FAILED.Error codes
| Code | Description |
|---|---|
| 400 | Invalid request — missing file, empty file, or malformed request |
| 401 | Missing or invalid Bearer token |
| 413 | File exceeds the 500MB size limit |
| 415 | Unsupported file format — only CSV, JSON, Excel (.xlsx), and Parquet are accepted |
| 429 | Rate limit exceeded — reduce upload frequency and retry |