Skip to main content
DELETE
/
subscriptions
/
{external_id}
/
entitlements
/
{feature_code}
Remove an entitlement from a subscription
curl --request DELETE \
  --url https://api.getlago.com/api/v1/subscriptions/{external_id}/entitlements/{feature_code} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.getlago.com/api/v1/subscriptions/{external_id}/entitlements/{feature_code}"

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

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

print(response.text)
const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.getlago.com/api/v1/subscriptions/{external_id}/entitlements/{feature_code}', 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://api.getlago.com/api/v1/subscriptions/{external_id}/entitlements/{feature_code}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://api.getlago.com/api/v1/subscriptions/{external_id}/entitlements/{feature_code}"

req, _ := http.NewRequest("DELETE", 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.delete("https://api.getlago.com/api/v1/subscriptions/{external_id}/entitlements/{feature_code}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.getlago.com/api/v1/subscriptions/{external_id}/entitlements/{feature_code}")

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

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

response = http.request(request)
puts response.read_body
{
  "entitlement": {
    "code": "seats",
    "name": "Number of seats",
    "description": "Number of users of the account",
    "privileges": [
      {
        "code": "max",
        "name": "Maximum",
        "value_type": "integer",
        "config": {},
        "value": 15,
        "plan_value": 10,
        "override_value": 15
      },
      {
        "code": "max_admins",
        "name": "Max Admins",
        "value_type": "integer",
        "config": {},
        "value": 5,
        "plan_value": 5,
        "override_value": null
      },
      {
        "code": "root",
        "name": "Allow root user",
        "value_type": "boolean",
        "config": {},
        "value": true,
        "plan_value": true,
        "override_value": null
      },
      {
        "code": "provider",
        "name": "SSO Provider",
        "value_type": "select",
        "value": "okta",
        "plan_value": "google",
        "override_value": "okta",
        "config": {
          "select_options": [
            "google",
            "okta"
          ]
        }
      }
    ],
    "overrides": {
      "max": 15,
      "provider": "okta"
    }
  }
}
{
"status": 401,
"error": "Unauthorized"
}
{
"status": 404,
"error": "Not Found",
"code": "object_not_found"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

external_id
string
required

External ID of the existing subscription

Example:

"5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"

feature_code
string
required

Code of the existing feature

Example:

"seats"

Query Parameters

subscription_status
enum<string>
default:active

Filter by subscription status. When provided, the subscription is looked up with this status instead of the default active status. Possible values are pending, active, terminated, or canceled.

Available options:
pending,
active,
terminated,
canceled
Example:

"active"

Response

Subscription entitlement removed

entitlement
object
required