License Keys
List License Keys
Scopes: customer_portal:read customer_portal:write
GET
/
v1
/
customer-portal
/
license-keys
/
Python
from crosspoint.v2026_10 import Crosspoint
crosspoint = Crosspoint("cxp_oat_xxx")
for item in crosspoint.customer_portal.license_keys.iter_list(
page=1,
limit=10,
):
print(item)import { createCrosspoint } from "@crossdev/sdk/2026-10";
const crosspoint = createCrosspoint({
accessToken: "cxp_oat_xxx",
});
for await (const item of crosspoint.customerPortal.licenseKeys.iterList(
{
"page": 1,
"limit": 10
},
)) {
console.log(item);
}
curl --request GET \
--url https://api.crosspoint.finance/v1/customer-portal/license-keys/ \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.crosspoint.finance/v1/customer-portal/license-keys/', 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.crosspoint.finance/v1/customer-portal/license-keys/",
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://api.crosspoint.finance/v1/customer-portal/license-keys/"
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://api.crosspoint.finance/v1/customer-portal/license-keys/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.crosspoint.finance/v1/customer-portal/license-keys/")
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{
"items": [
{
"id": "<string>",
"created_at": "2026-01-01T00:00:00.000000Z",
"modified_at": "2026-01-01T00:00:00.000000Z",
"organization_id": "<string>",
"customer_id": "<string>",
"customer": {
"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
"created_at": "2026-01-01T00:00:00.000000Z",
"modified_at": "2026-01-01T00:00:00.000000Z",
"metadata": {},
"email_verified": true,
"type": "individual",
"name": "John Doe",
"billing_name": "John Doe",
"billing_address": {
"country": "US",
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": {
"[0]": "<string>"
},
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
"deleted_at": "2026-01-01T00:00:00.000000Z",
"first_user_event_at": "2026-01-01T00:00:00.000000Z",
"avatar_url": "https://www.gravatar.com/avatar/xxx?d=404",
"external_id": "usr_1337",
"email": "customer@example.com",
"locale": "<string>",
"default_payment_method_id": "<string>"
},
"member_id": "<string>",
"member": {
"id": "<string>",
"email": "<string>",
"external_id": "<string>"
},
"benefit_id": "<string>",
"key": "<string>",
"display_key": "<string>",
"status": "granted",
"limit_activations": 123,
"usage": 123,
"limit_usage": 123,
"validations": 123,
"last_validated_at": "2026-01-01T00:00:00.000000Z",
"expires_at": "2026-01-01T00:00:00.000000Z"
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}{
"error": "Unauthorized",
"detail": "<string>"
}{
"error": "ResourceNotFound",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
customer_sessionmember_session
Customer session tokens are specific tokens that are used to authenticate customers on your organization. You can create those sessions programmatically using the Create Customer Session endpoint.
Query Parameters
Filter by a specific benefit The benefit ID.
Page number, defaults to 1.
Size of a page, defaults to 10. Maximum is 100.
⌘I
Python
from crosspoint.v2026_10 import Crosspoint
crosspoint = Crosspoint("cxp_oat_xxx")
for item in crosspoint.customer_portal.license_keys.iter_list(
page=1,
limit=10,
):
print(item)import { createCrosspoint } from "@crossdev/sdk/2026-10";
const crosspoint = createCrosspoint({
accessToken: "cxp_oat_xxx",
});
for await (const item of crosspoint.customerPortal.licenseKeys.iterList(
{
"page": 1,
"limit": 10
},
)) {
console.log(item);
}
curl --request GET \
--url https://api.crosspoint.finance/v1/customer-portal/license-keys/ \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.crosspoint.finance/v1/customer-portal/license-keys/', 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.crosspoint.finance/v1/customer-portal/license-keys/",
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://api.crosspoint.finance/v1/customer-portal/license-keys/"
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://api.crosspoint.finance/v1/customer-portal/license-keys/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.crosspoint.finance/v1/customer-portal/license-keys/")
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{
"items": [
{
"id": "<string>",
"created_at": "2026-01-01T00:00:00.000000Z",
"modified_at": "2026-01-01T00:00:00.000000Z",
"organization_id": "<string>",
"customer_id": "<string>",
"customer": {
"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
"created_at": "2026-01-01T00:00:00.000000Z",
"modified_at": "2026-01-01T00:00:00.000000Z",
"metadata": {},
"email_verified": true,
"type": "individual",
"name": "John Doe",
"billing_name": "John Doe",
"billing_address": {
"country": "US",
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": {
"[0]": "<string>"
},
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
"deleted_at": "2026-01-01T00:00:00.000000Z",
"first_user_event_at": "2026-01-01T00:00:00.000000Z",
"avatar_url": "https://www.gravatar.com/avatar/xxx?d=404",
"external_id": "usr_1337",
"email": "customer@example.com",
"locale": "<string>",
"default_payment_method_id": "<string>"
},
"member_id": "<string>",
"member": {
"id": "<string>",
"email": "<string>",
"external_id": "<string>"
},
"benefit_id": "<string>",
"key": "<string>",
"display_key": "<string>",
"status": "granted",
"limit_activations": 123,
"usage": 123,
"limit_usage": 123,
"validations": 123,
"last_validated_at": "2026-01-01T00:00:00.000000Z",
"expires_at": "2026-01-01T00:00:00.000000Z"
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}{
"error": "Unauthorized",
"detail": "<string>"
}{
"error": "ResourceNotFound",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}
