## Get a pricing rule's history

### cURL

```
    curl --request GET \
      --url https://app.barndoor.ai/api/llm-gateway/admin/model-pricing/history \
      --header 'Authorization: Bearer <token>'
    ```

### Python

```
    import requests

url = "https://app.barndoor.ai/api/llm-gateway/admin/model-pricing/history"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
    ```

### JavaScript (Fetch)

```
    const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://app.barndoor.ai/api/llm-gateway/admin/model-pricing/history', options)
      .then(res => res.json())
      .then(res => console.log(res))
      .catch(err => console.error(err));
    ```

### PHP

```php
    <?php

$curl = curl_init();

curl_setopt_array($curl, [
      CURLOPT_URL => "https://app.barndoor.ai/api/llm-gateway/admin/model-pricing/history",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "GET",
      CURLOPT_HTTPHEADER => [
        "Authorization: Bearer <token>"
      ],
    ]);

$response = curl_exec($curl);
    $err = curl_error($curl);

curl_close($curl);

if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
    ```

### Go

```go
    package main

import (
	"fmt"
	"net/http"
	"io"
    )

func main() {

url := "https://app.barndoor.ai/api/llm-gateway/admin/model-pricing/history"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))
    }
    ```

### Unirest (Java)

```java
    HttpResponse<String> response = Unirest.get("https://app.barndoor.ai/api/llm-gateway/admin/model-pricing/history")
      .header("Authorization", "Bearer <token>")
      .asString();
    ```

### Ruby

```ruby
    require 'uri'
    require 'net/http'

url = URI("https://app.barndoor.ai/api/llm-gateway/admin/model-pricing/history")

http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true

request = Net::HTTP::Get.new(url)
    request["Authorization"] = 'Bearer <token>'

response = http.request(request)
    puts response.read_body
    ```

### Response Example

200

```json
    [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "model_pattern": "gpt-4o-mini",
        "input_cost_per_million_tokens": 0.15,
        "output_cost_per_million_tokens": 0.6,
        "effective_from": "2023-11-07T05:31:56Z",
        "is_archived": true,
        "model_provider": "<string>",
        "provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "catalog_slug": "<string>",
        "cache_read_cost_per_million_tokens": 123,
        "cache_write_cost_per_million_tokens": 123,
        "change_reason": "<string>",
        "created_by_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "created_by_email": "<string>"
      }
    ]
    ```

### Authorizations

#### Authorization

- **Type**: string
- **Location**: header
- **Required**: Yes
- **Description**: JWT obtained through Barndoor's authentication flow. Pass the token verbatim in `Authorization: Bearer <token>`. Use the Barndoor SDK's `loginInteractive()` helper to obtain a token in scripts and notebooks.

### Query Parameters

- **model_pattern**: string (required)
- **model_provider**: string

### Response

- **200 - application/json**: List of pricing versions, newest first
    - **id**: string<uuid> (required)
    - **org_id**: string<uuid> (required)
    - **model_pattern**: string (required)
    - **input_cost_per_million_tokens**: number (required)
    - **output_cost_per_million_tokens**: number (required)
    - **effective_from**: string<date-time> (required)
    - **is_archived**: boolean (required) 
    - **model_provider**: string | null
    - **provider_id**: string<uuid> | null
    - **catalog_slug**: string | null
    - **cache_read_cost_per_million_tokens**: number | null
    - **cache_write_cost_per_million_tokens**: number | null
    - **change_reason**: string | null
    - **created_by_user_id**: string<uuid> | null
    - **created_by_email**: string | null
