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

# Forward curve

## <span style={{ color: 'white', fontWeight: 'bold', backgroundColor: '#007BFF', border: '2px solid #007BFF', borderRadius: '5px', padding: '5px', display: 'inline-block' }}>POST</span> /api/gpu-forward/list

Get the GPU rental forward curve for a single GPU type on a given forward date. A list of `id` from response must be used in the `/download` endpoint to find the download URL.

### Authorization

**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token

### Request Body

The request body must be in `application/json` format.

| Field                   | Type    | Required | Description                                                                               | Constraints         |
| ----------------------- | ------- | -------- | ----------------------------------------------------------------------------------------- | ------------------- |
| `filter/interval`       | string  | Yes      | Interval of the data                                                                      | \[day, month]       |
| `filter/period`         | string  | Yes      | Date range in YYYY/MM/DD-YYYY/MM/DD                                                       |                     |
| `filter/type`           | string  | Yes      | GPU type                                                                                  | \[A100, B200, H100] |
| `paginate/num_per_page` | integer | No       | How many records will be return per one page, value score in 1 to 100，default value is 50 | \[ 1 .. 100 ]       |
| `paginate/page_num`     | integer | No       | The page index number, default value is 1                                                 | >= 1                |
| `order_by/period`       | string  | No       | Order of the file list                                                                    | \[asc, desc]        |

### Request Example

```json theme={null}
{
	"filter":[
		{"interval":"day"},
		{"period":"2025/01/06-2025/04/06"},
		{"type":"A100"}
],
	
	"order_by":[
		{"period":"desc"}
	],
	"paginate":{"num_per_page":10,"page_num":1}
}
```

### Responses

Response consists of meta and data, where:

* meta is the metadata regarding the request. `code` in `meta` indicates the error code of the request, with 0 indicating no error.
* data contains the total number of results and a list of results, each containing the `id` that can be used to download the data.

```json theme={null}
{
	"meta": {
		"code": "integer",
		"url": "string",
		"message": "string",
		"timestamp": "integer",
	},
	"data": {
		"total": "integer",
		"results": [
			{
				"interval": "string",
				"period": "string",
				"type": "string",
				"csv_s3_path": "string",
				"id": "string",
				"sequence_id": "integer"
			}
		]
	}
}
```

***

## <span style={{ color: 'white', fontWeight: 'bold', backgroundColor: '#007BFF', border: '2px solid #007BFF', borderRadius: '5px', padding: '5px', display: 'inline-block' }}>POST</span> /api/gpu-forward/download

Get GPU data download URL using `id`, obtained from the `/list` endpoint.

### Authorization

**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token

### Request Body

The request body must be in `application/json` format.

| Field | Type    | Required | Description                   | Constraints |
| ----- | ------- | -------- | ----------------------------- | ----------- |
| `id`  | integer | Yes      | ID used for find download URL |             |

### Request Example

```json theme={null}
{
  "id": 2046555026029398400
}
```

### Responses

```json theme={null}
{
	"meta": {
		"code": "integer",
		"url": "string",
		"message": "string",
		"timestamp": "integer"
	},
	"data": {
		"csv_download_url": "string"
	}
}
```
