Get the plan
curl --request GET \
--url https://platform.jobbit.uk/v1/plan \
--header 'Authorization: Bearer <token>'import requests
url = "https://platform.jobbit.uk/v1/plan"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.jobbit.uk/v1/plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://platform.jobbit.uk/v1/plan",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://platform.jobbit.uk/v1/plan"
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))
}HttpResponse<String> response = Unirest.get("https://platform.jobbit.uk/v1/plan")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.jobbit.uk/v1/plan")
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{
"plan": "plus",
"subscription": {
"product": "Jobbit Plus",
"credits_per_period": 3000,
"period_days": 30,
"provider": "STRIPE",
"status": "active",
"current_period_start": "2026-10-20T08:00:00+00:00",
"current_period_end": "2026-11-19T08:00:00+00:00",
"auto_renew": true,
"cancelled_at": null,
"pending_product": null
},
"api_limits": {
"read": {
"count": 600,
"seconds": 60
},
"write": {
"count": 120,
"seconds": 60
},
"inference": {
"count": 300,
"seconds": 60
},
"agent_tasks": {
"count": 60,
"seconds": 60
},
"uploads": {
"count": 60,
"seconds": 3600
},
"tokens": {
"count": 2000000,
"seconds": 60
}
}
}{
"error": {
"code": "invalid_key",
"message": "the API key is missing or invalid",
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}{
"error": {
"code": "insufficient_scope",
"message": "this key does not have the deploy:write permission",
"details": {
"required": "deploy:write"
},
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}{
"error": {
"code": "rate_limited",
"message": "too many read requests, retry in 4 s",
"details": {
"group": "read",
"limit": 120,
"window_seconds": 60
},
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}Get the plan
Returns the account’s plan, its active subscription and the API rate limits that come with the plan. Request limits are token buckets per account; the tokens entry is the tokens-per-minute budget for chat, decisions and embeddings.
Requires the account:read permission.
GET
/
v1
/
plan
Get the plan
curl --request GET \
--url https://platform.jobbit.uk/v1/plan \
--header 'Authorization: Bearer <token>'import requests
url = "https://platform.jobbit.uk/v1/plan"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.jobbit.uk/v1/plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://platform.jobbit.uk/v1/plan",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://platform.jobbit.uk/v1/plan"
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))
}HttpResponse<String> response = Unirest.get("https://platform.jobbit.uk/v1/plan")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.jobbit.uk/v1/plan")
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{
"plan": "plus",
"subscription": {
"product": "Jobbit Plus",
"credits_per_period": 3000,
"period_days": 30,
"provider": "STRIPE",
"status": "active",
"current_period_start": "2026-10-20T08:00:00+00:00",
"current_period_end": "2026-11-19T08:00:00+00:00",
"auto_renew": true,
"cancelled_at": null,
"pending_product": null
},
"api_limits": {
"read": {
"count": 600,
"seconds": 60
},
"write": {
"count": 120,
"seconds": 60
},
"inference": {
"count": 300,
"seconds": 60
},
"agent_tasks": {
"count": 60,
"seconds": 60
},
"uploads": {
"count": 60,
"seconds": 3600
},
"tokens": {
"count": 2000000,
"seconds": 60
}
}
}{
"error": {
"code": "invalid_key",
"message": "the API key is missing or invalid",
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}{
"error": {
"code": "insufficient_scope",
"message": "this key does not have the deploy:write permission",
"details": {
"required": "deploy:write"
},
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}{
"error": {
"code": "rate_limited",
"message": "too many read requests, retry in 4 s",
"details": {
"group": "read",
"limit": 120,
"window_seconds": 60
},
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}Authorizations
An API key from Settings → API keys, sent as Authorization: Bearer jb_live_…
Response
The plan.
The account's plan.
Available options:
free, go, plus, pro, max The active subscription, or null on the free plan.
Show child attributes
Show child attributes
The request limits of this plan, per account. All keys of an account share them.
Show child attributes
Show child attributes
⌘I