All URIs are relative to https://api.getlago.com/api/v1
Method | HTTP request | Description |
---|---|---|
createSubscription | POST /subscriptions | Assign a plan to a customer |
destroySubscription | DELETE /subscriptions/{external_id} | Terminate a subscription |
findAllSubscriptions | GET /subscriptions | List all subscriptions |
findSubscription | GET /subscriptions/{external_id} | Retrieve a subscription |
updateSubscription | PUT /subscriptions/{external_id} | Update a subscription |
Subscription createSubscription(subscriptionCreateInput)
Assign a plan to a customer
This endpoint assigns a plan to a customer, creating or modifying a subscription. Ideal for initial subscriptions or plan changes (upgrades/downgrades).
// Import classes:
import org.getlago.client.ApiClient;
import org.getlago.client.ApiException;
import org.getlago.client.Configuration;
import org.getlago.client.auth.*;
import org.getlago.client.models.*;
import org.getlago.client.api.SubscriptionsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.getlago.com/api/v1");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
SubscriptionsApi apiInstance = new SubscriptionsApi(defaultClient);
SubscriptionCreateInput subscriptionCreateInput = new SubscriptionCreateInput(); // SubscriptionCreateInput | Subscription payload
try {
Subscription result = apiInstance.createSubscription(subscriptionCreateInput);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SubscriptionsApi#createSubscription");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
subscriptionCreateInput | SubscriptionCreateInput | Subscription payload |
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | Subscription created | - |
400 | Bad Request error | - |
401 | Unauthorized error | - |
404 | Not Found error | - |
422 | Unprocessable entity error | - |
Subscription destroySubscription(externalId, status)
Terminate a subscription
This endpoint allows you to terminate a subscription.
// Import classes:
import org.getlago.client.ApiClient;
import org.getlago.client.ApiException;
import org.getlago.client.Configuration;
import org.getlago.client.auth.*;
import org.getlago.client.models.*;
import org.getlago.client.api.SubscriptionsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.getlago.com/api/v1");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
SubscriptionsApi apiInstance = new SubscriptionsApi(defaultClient);
String externalId = "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"; // String | External ID of the existing subscription
String status = "pending"; // String | If the field is not defined, Lago will terminate only `active` subscriptions. However, if you wish to cancel a `pending` subscription, please ensure that you include `status=pending` in your request.
try {
Subscription result = apiInstance.destroySubscription(externalId, status);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SubscriptionsApi#destroySubscription");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
externalId | String | External ID of the existing subscription | |
status | String | If the field is not defined, Lago will terminate only `active` subscriptions. However, if you wish to cancel a `pending` subscription, please ensure that you include `status=pending` in your request. | [optional] |
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | Subscription terminated | - |
401 | Unauthorized error | - |
404 | Not Found error | - |
405 | Not Allowed error | - |
SubscriptionsPaginated findAllSubscriptions(page, perPage, externalCustomerId, planCode, status)
List all subscriptions
This endpoint retrieves all active subscriptions.
// Import classes:
import org.getlago.client.ApiClient;
import org.getlago.client.ApiException;
import org.getlago.client.Configuration;
import org.getlago.client.auth.*;
import org.getlago.client.models.*;
import org.getlago.client.api.SubscriptionsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.getlago.com/api/v1");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
SubscriptionsApi apiInstance = new SubscriptionsApi(defaultClient);
Integer page = 1; // Integer | Page number.
Integer perPage = 20; // Integer | Number of records per page.
String externalCustomerId = "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"; // String | The customer external unique identifier (provided by your own application)
String planCode = "premium"; // String | The unique code representing the plan to be attached to the customer. This code must correspond to the code property of one of the active plans.
List<String> status = Arrays.asList(); // List<String> | If the field is not defined, Lago will return only `active` subscriptions. However, if you wish to fetch subscriptions by different status you can define them in a status[] query param. Available filter values: `pending`, `canceled`, `terminated`, `active`.
try {
SubscriptionsPaginated result = apiInstance.findAllSubscriptions(page, perPage, externalCustomerId, planCode, status);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SubscriptionsApi#findAllSubscriptions");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
page | Integer | Page number. | [optional] |
perPage | Integer | Number of records per page. | [optional] |
externalCustomerId | String | The customer external unique identifier (provided by your own application) | [optional] |
planCode | String | The unique code representing the plan to be attached to the customer. This code must correspond to the code property of one of the active plans. | [optional] |
status | List<String> | If the field is not defined, Lago will return only `active` subscriptions. However, if you wish to fetch subscriptions by different status you can define them in a status[] query param. Available filter values: `pending`, `canceled`, `terminated`, `active`. | [optional] [enum: pending, canceled, terminated, active] |
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | List of subscriptions | - |
401 | Unauthorized error | - |
404 | Not Found error | - |
Subscription findSubscription(externalId)
Retrieve a subscription
This endpoint retrieves a specific subscription.
// Import classes:
import org.getlago.client.ApiClient;
import org.getlago.client.ApiException;
import org.getlago.client.Configuration;
import org.getlago.client.auth.*;
import org.getlago.client.models.*;
import org.getlago.client.api.SubscriptionsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.getlago.com/api/v1");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
SubscriptionsApi apiInstance = new SubscriptionsApi(defaultClient);
String externalId = "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"; // String | External ID of the existing subscription
try {
Subscription result = apiInstance.findSubscription(externalId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SubscriptionsApi#findSubscription");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
externalId | String | External ID of the existing subscription |
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | Subscription | - |
401 | Unauthorized error | - |
404 | Not Found error | - |
Subscription updateSubscription(externalId, subscriptionUpdateInput)
Update a subscription
This endpoint allows you to update a subscription.
// Import classes:
import org.getlago.client.ApiClient;
import org.getlago.client.ApiException;
import org.getlago.client.Configuration;
import org.getlago.client.auth.*;
import org.getlago.client.models.*;
import org.getlago.client.api.SubscriptionsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.getlago.com/api/v1");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
SubscriptionsApi apiInstance = new SubscriptionsApi(defaultClient);
String externalId = "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"; // String | External ID of the existing subscription
SubscriptionUpdateInput subscriptionUpdateInput = new SubscriptionUpdateInput(); // SubscriptionUpdateInput | Update an existing subscription
try {
Subscription result = apiInstance.updateSubscription(externalId, subscriptionUpdateInput);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SubscriptionsApi#updateSubscription");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
externalId | String | External ID of the existing subscription | |
subscriptionUpdateInput | SubscriptionUpdateInput | Update an existing subscription |
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | Subscription updated | - |
400 | Bad Request error | - |
401 | Unauthorized error | - |
404 | Not Found error | - |
422 | Unprocessable entity error | - |