## Documentation Index

Fetch the complete documentation index at: [/llms.txt](https://docs.relay.link/llms.txt)

Use this file to discover all available pages before exploring further.

### cURL

```bash
curl --request POST \
  --url https://api.relay.link/fast-fill \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <x-api-key>' \
  --data '
{
  "requestId": "<string>"
}
'
```

```javascript
const options = {
  method: 'POST',
  headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({requestId: '<string>'})
};

fetch('https://api.relay.link/fast-fill', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

```python
import requests

url = "https://api.relay.link/fast-fill"

payload = { "requestId": "<string>" }
headers = {
    "x-api-key": "<x-api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

### Status Codes

- **200:** Request successfully queued for fast fill.
- **400:** Currency is required and could not be determined.
- **401:** Unauthorized: Check API Key.
- **403:** Forbidden: Fast fill requires a sponsoring wallet with app balance.
- **404:** Request not found.
- **409:** Conflict: This request is already being processed.
- **500:** An internal server error occurred.

### Response Examples

```json
{
  "message": "Request successfully queued for fast fill."
}
```

```json
{
  "message": "Currency is required and could not be determined."
}
```

```json
{
  "message": "Unauthorized: Check API Key"
}
```

```json
{
  "message": "Forbidden: Fast fill requires a sponsoring wallet with app balance."
}
```

```json
{
  "message": "Request not found"
}
```

```json
{
  "message": "Conflict: This request is already being processed."
}
```

```json
{
  "message": "An internal server error occurred."
}
```

### Headers

- **x-api-key**:  
  Type: string  
  Required: Yes  
  Description: Required API key for authentication. Contact the team for getting an API Key

### Body

- **requestId**:  
  Type: string  
  Required: Yes  
  Description: The request ID of the request that needs to be fast filled
- **solverInputCurrencyAmount**:  
  Type: string  
  Description: The input currency amount that the solver receives on origin
- **maxFillAmountUsd**:  
  Type: number  
  Description: Optional per-request USD limit. If the computed fill value exceeds this amount, the request is rejected. Must be lower than or equal to the app's available USDC balance.

### Response

- **200**:
  - Type: application/json  
  - Description: Request was successful. It was either queued or found to be already executed.
  - Example:  
    
    ```json
    {
      "message": "Request successfully queued for fast fill."
    }
    ```
