> This page is for Developers.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.iot.telia.lt/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.iot.telia.lt/_mcp/server.

# Retrieve your organization's active tariff plan

GET https://iot.telia.lt/api/v1/tariff_plan/active

Retrieve detailed information about your organization's assigned `tariff_plan`.

The `applied_price` field is calculated based on the active SIM cards for the current month.

Reference: https://docs.iot.telia.lt/developers/api/tariff-plans/get-active-tariff-plan

## Authentication

- `Authorization` header (bearer token, required) — An `auth_token` should be provided to authenticate a session. To obtain an `auth_token`, see the [`/api/v1/authenticate` **POST** request](/developers/api/authentication/authenticate).

## Response

### 200

Success

- `organisation_id` (double, optional)
- `start_date` (string, optional)
- `expiry_date` (string, optional) — the end date of the tariff_plan, or null if it is open end
- `sim_activated_rate` (double, optional)
- `sim_activated_idle_rate` (double, optional)
- `sim_suspended_rate` (double, optional)
- `sim_suspended_active_rate` (double, optional)
- `sim_activated_amount` (double, optional) — the number of activated SIMs this month
- `applied_price` (ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaAppliedPrice, optional) — the fees that apply for the current month according to the number of activated SIMs. calculation follows volume pricing at the moment, but may be changed at any time. the resulting price is the sum of each price line times the given volume. if it is a scaled price, the rate object contains a `scale_start` field, otherwise it is fixed.
- `tariff_plan` (ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlan, optional)
- `tariff_plan_runtime` (ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlanRuntime, optional)
- `active` (boolean, optional)
- `applied_rate` (double, optional)
- `id` (double, optional)
- `service_level` (ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaServiceLevel, optional) — The default service level of a tariff plan. Possible values can be fetched with GET `/api/v1/service_level`.
- `workspaces_enabled` (boolean, optional) — Determines if the organization is allowed to use the Workspace feature. Returns the global value from the tariff plan, unless this value is overridden on the organization level. If it's set, the value configured on the organization level always takes priority.

## Errors

### 403 Forbidden Error

Your role doesn't include the permission this endpoint requires. Most endpoints return `error_code`, `error_token`, and `message`. Some return only `status_code` and `message`.

- `error_code` (integer, optional)
- `error_token` (string, optional)
- `status_code` (integer, optional)
- `message` (string, optional)

### 404 Not Found Error

Organization not found or there's no active tariff plan

- `any`

## Types

### ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaAppliedPrice

the fees that apply for the current month according to the number of activated SIMs. calculation follows volume pricing at the moment, but may be changed at any time. the resulting price is the sum of each price line times the given volume. if it is a scaled price, the rate object contains a `scale_start` field, otherwise it is fixed.

- `sim_activated_rate` (list of ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaAppliedPriceSimActivatedRateItems, optional)

### ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlan

- `name` (string, optional)
- `description` (string, optional)
- `creation_date` (string, optional)
- `activation_date` (string, optional)
- `deprecation_date` (string, optional)
- `rate` (double, optional)
- `yearly_rate` (double, optional)
- `sim_activation_fee` (double, optional)
- `max_active_sims` (double, optional)
- `add_active_sims_rate` (double, optional)
- `add_active_sim_batch` (double, optional)
- `max_service_profiles` (double, optional)
- `max_tariff_profiles` (double, optional)
- `max_users` (double, optional)
- `minimum_runtime` (double, optional)
- `api_access_allowed` (boolean, optional)
- `vpn_access` (boolean, optional)
- `evaluation` (boolean, optional)
- `expiry_time` (double, optional)
- `used_count` (double, optional)
- `id` (double, optional)
- `price` (ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlanPrice, optional)
- `currency` (ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlanCurrency, optional)
- `workspaces_enabled` (boolean, optional) — The `workspaces_enabled` flag configured globally for the tariff plan

### ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlanRuntime

- `number_of_units` (double, optional)
- `time_unit_id` (double, optional)
- `id` (double, optional)

### ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaServiceLevel

The default service level of a tariff plan. Possible values can be fetched with GET `/api/v1/service_level`.

- `id` (double, required)
- `name` (string, optional)

### ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaAppliedPriceSimActivatedRateItems

- `scale_start` (double, optional)
- `rate` (double, optional)
- `volume` (integer, optional)

### ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlanPrice

- `sim_activated_rate` (list of ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlanPriceSimActivatedRateItems, optional)

### ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlanCurrency

- `code` (string, optional)
- `symbol` (string, optional)
- `id` (double, optional)

### ApiV1TariffPlanActiveGetResponsesContentApplicationJsonSchemaTariffPlanPriceSimActivatedRateItems

- `scale_start` (double, optional)
- `rate` (double, optional)

## Examples

**Response**

```json
{
  "organisation_id": 6797,
  "start_date": "2020-05-28T00:00:00.000Z",
  "sim_activated_rate": 0,
  "sim_activated_idle_rate": 0,
  "sim_suspended_rate": 0,
  "sim_suspended_active_rate": 0,
  "sim_activated_amount": 12,
  "applied_price": {
    "sim_activated_rate": [
      {
        "scale_start": 10,
        "rate": 0.8,
        "volume": 12
      }
    ]
  },
  "tariff_plan": {
    "name": "Professional",
    "description": "Full usability for small and medium applications",
    "sim_activation_fee": 3,
    "max_active_sims": 500,
    "add_active_sims_rate": 49,
    "add_active_sim_batch": 100,
    "max_service_profiles": 20,
    "max_tariff_profiles": 20,
    "max_users": 10,
    "api_access_allowed": true,
    "vpn_access": true,
    "evaluation": false,
    "expiry_time": 0,
    "id": 39,
    "price": {
      "sim_activated_rate": [
        {
          "scale_start": 1,
          "rate": 0.85
        },
        {
          "scale_start": 10,
          "rate": 0.8
        },
        {
          "scale_start": 100,
          "rate": 0.6
        },
        {
          "scale_start": 1000,
          "rate": 0.5
        }
      ]
    },
    "currency": {
      "code": "EUR",
      "symbol": "€",
      "id": 1
    },
    "workspaces_enabled": false
  },
  "tariff_plan_runtime": {
    "number_of_units": 1,
    "time_unit_id": 0,
    "id": 1
  },
  "active": true,
  "applied_rate": 299,
  "id": 9035,
  "service_level": {
    "id": 1,
    "name": "Basic"
  },
  "workspaces_enabled": true
}
```

**SDK Code**

```python Tariff Plan with Activated Scale Pricing
import requests

url = "https://iot.telia.lt/api/v1/tariff_plan/active"

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

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

print(response.json())
```

```javascript Tariff Plan with Activated Scale Pricing
const url = 'https://iot.telia.lt/api/v1/tariff_plan/active';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Tariff Plan with Activated Scale Pricing
package main

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

func main() {

	url := "https://iot.telia.lt/api/v1/tariff_plan/active"

	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(res)
	fmt.Println(string(body))

}
```

```ruby Tariff Plan with Activated Scale Pricing
require 'uri'
require 'net/http'

url = URI("https://iot.telia.lt/api/v1/tariff_plan/active")

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
```

```java Tariff Plan with Activated Scale Pricing
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://iot.telia.lt/api/v1/tariff_plan/active")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Tariff Plan with Activated Scale Pricing
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://iot.telia.lt/api/v1/tariff_plan/active', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Tariff Plan with Activated Scale Pricing
using RestSharp;

var client = new RestClient("https://iot.telia.lt/api/v1/tariff_plan/active");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Tariff Plan with Activated Scale Pricing
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://iot.telia.lt/api/v1/tariff_plan/active")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```