> ## 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.

# Request a new supplier to be added to the platform

> Submit a supplier request with an inventory file sample so the Mapping.Travel team can evaluate and onboard a new supplier dataset to the platform.

If the supplier you need is not yet available on the platform, you can request it be added. You submit a multipart form request containing the supplier's name, an optional description, an optional contact email, and a sample of the supplier's inventory file. The Mapping.Travel team reviews the request and contacts you if further information is needed.

<Note>
  Authentication is required. Include your bearer token in the `Authorization` header.
</Note>

***

## POST /api/v1/suppliers/request

Submit a new supplier request.

```bash theme={null} theme={null}
POST https://api.mapping.travel/api/v1/suppliers/request
Content-Type: multipart/form-data
```

This endpoint accepts a `multipart/form-data` body. The inventory file is the sample dataset from the supplier you want onboarded.

### Request fields

<ParamField body="file" type="file" required>
  The supplier's inventory file. Accepted formats: CSV, JSON, Excel (`.xlsx`). The file is used by the Mapping.Travel team to assess compatibility.
</ParamField>

<ParamField body="supplierName" type="string" required>
  Name of the supplier you are requesting (e.g. `TravelClick`, `SiteMinder`).
</ParamField>

<ParamField body="description" type="string">
  Optional description of the supplier and why you need it.
</ParamField>

<ParamField body="contactEmail" type="string">
  Optional contact email. The team will use this address if they need to follow up on your request.
</ParamField>

### Response

Returns `202 Accepted`. The request has been queued for review.

<ResponseField name="id" type="string" required>
  UUID of the created supplier request. Use this to track status via `GET /api/v1/suppliers/requests`.
</ResponseField>

<ResponseField name="supplierName" type="string" required>
  Name of the requested supplier as submitted.
</ResponseField>

<ResponseField name="status" type="string" required>
  Initial status of the request. Will be `pending` immediately after submission.
</ResponseField>

<ResponseField name="submittedAt" type="string" required>
  ISO 8601 timestamp of submission.
</ResponseField>

### Errors

| Status                       | Description                                                |
| ---------------------------- | ---------------------------------------------------------- |
| `400 Bad Request`            | Missing required fields or invalid request format.         |
| `413 Payload Too Large`      | The uploaded file exceeds the size limit.                  |
| `415 Unsupported Media Type` | The file format is not supported. Use CSV, JSON, or Excel. |

### Example

```bash theme={null} theme={null}
curl -X POST https://api.mapping.travel/api/v1/suppliers/request \
  -H "Authorization: Bearer <token>" \
  -F "file=@inventory-sample.csv" \
  -F "supplierName=TravelClick" \
  -F "description=Global CRS provider we need for our property management system" \
  -F "contactEmail=tech@yourcompany.com"
```

```json theme={null} theme={null}
{
  "id": "req-9f1a2b3c-0000-0000-0000-000000000001",
  "supplierName": "TravelClick",
  "status": "pending",
  "submittedAt": "2026-04-25T11:00:00Z"
}
```

<Tip>
  Include as representative a sample as possible in your inventory file. A broader sample helps the team assess compatibility faster and reduces back-and-forth.
</Tip>
