Read the optional issuance-policy preflight for your Telegram subscription bot or Discord subscription bot project.
GET /v2/projects/ {project_id} /access-tokens/eligibility CopyTry it Authorization Bearer API Key Required
API key scope: access-tokens:create (required for restricted keys).
Query Parameters Requested batch size, from 1 to 100.
You do not need to call this endpoint before creating codes. The issuance workflow is Prepare Tokens followed by Activate Tokens .
Current policy allows unlimited issuance; remaining: null means unlimited. There is no monthly, total, or unclaimed-token quota. The 100-code batch limit applies to a single request.
This check does not accept a plan or member and does not validate their eligibility, pricing, payment-provider setup, or platform access. It reserves nothing and does not guarantee activation. Preparation validates the selected plan; first activation checks the saved ticket, current plan, and issuance policy again.
Unknown query fields and invalid counts return 422.
curl -X GET "https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/access-tokens/eligibility?count=10" \
-H "Authorization: Bearer YOUR_API_KEY" const response = await fetch ( "https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/access-tokens/eligibility?count=10" , {
method: 'GET' ,
headers: {
"Authorization" : "Bearer YOUR_API_KEY"
}
});
const result = await response. json (); import requests
response = requests.get(
"https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/access-tokens/eligibility?count=10" ,
headers = {
"Authorization" : "Bearer YOUR_API_KEY"
}
)
result = response.json() $ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL , 'https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/access-tokens/eligibility?count=10' );
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST , 'GET' );
curl_setopt ($ch, CURLOPT_HTTPHEADER , [
'Authorization: Bearer YOUR_API_KEY'
]);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch); Generation eligibility preview application/json
{
"ok" : true ,
"request_id" : "44444444-4444-4444-8444-444444444444" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/access-tokens/eligibility" ,
"code" : 200 ,
"data" : {
"allowed" : true ,
"remaining" : null ,
"reason" : null
}
} Batch count exceeds 100 application/json
{
"ok" : false ,
"request_id" : "44444444-4444-4444-8444-444444444444" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/access-tokens/eligibility" ,
"code" : 422 ,
"errors" : [
{
"message" : "query: count is too big; maximum allowed is 100" ,
"error_code" : "VALIDATION_ERROR"
}
]
} Invalid or expired API key application/json
{
"ok" : false ,
"request_id" : "44444444-4444-4444-8444-444444444444" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/access-tokens/eligibility" ,
"code" : 401 ,
"error" : {
"message" : "Invalid or expired authentication token." ,
"error_code" : "UNAUTHORIZED"
}
}