License Keys
Validate License Key
Validate a license key.
Scopes: license_keys:write
POST
/
v1
/
license-keys
/
validate
Go (SDK)
package main
import(
"context"
"os"
macropaygo "github.com/web3group/macropay-go-main"
"github.com/web3group/macropay-go-main/models/components"
"log"
)
func main() {
ctx := context.Background()
s := macropaygo.New(
macropaygo.WithSecurity(os.Getenv("MACROPAY_ACCESS_TOKEN")),
)
res, err := s.LicenseKeys.Validate(ctx, components.LicenseKeyValidate{
Key: "<key>",
OrganizationID: "<value>",
})
if err != nil {
log.Fatal(err)
}
if res.ValidatedLicenseKey != nil {
// handle response
}
}from macropay_sdk import Macropay
with Macropay(
access_token="<YOUR_BEARER_TOKEN_HERE>",
) as macropay:
res = macropay.license_keys.validate(request={
"key": "<key>",
"organization_id": "<value>",
})
# Handle response
print(res)import { Macropay } from "@macropayments/sdk";
const macropay = new Macropay({
accessToken: process.env["MACROPAY_ACCESS_TOKEN"] ?? "",
});
async function run() {
const result = await macropay.licenseKeys.validate({
key: "<key>",
organizationId: "<value>",
});
console.log(result);
}
run();declare(strict_types=1);
require 'vendor/autoload.php';
use Macropay;
use Macropay\Models\Components;
$sdk = Macropay\Macropay::builder()
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Components\LicenseKeyValidate(
key: '<key>',
organizationId: '<value>',
);
$response = $sdk->licenseKeys->validate(
request: $request
);
if ($response->validatedLicenseKey !== null) {
// handle response
}curl --request POST \
--url https://api.macropay.ai/v1/license-keys/validate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"organization_id": "<string>",
"activation_id": "<string>",
"benefit_id": "<string>",
"customer_id": "<string>",
"increment_usage": 123,
"conditions": {}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
key: '<string>',
organization_id: '<string>',
activation_id: '<string>',
benefit_id: '<string>',
customer_id: '<string>',
increment_usage: 123,
conditions: {}
})
};
fetch('https://api.macropay.ai/v1/license-keys/validate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.macropay.ai/v1/license-keys/validate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\",\n \"organization_id\": \"<string>\",\n \"activation_id\": \"<string>\",\n \"benefit_id\": \"<string>\",\n \"customer_id\": \"<string>\",\n \"increment_usage\": 123,\n \"conditions\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.macropay.ai/v1/license-keys/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"key\": \"<string>\",\n \"organization_id\": \"<string>\",\n \"activation_id\": \"<string>\",\n \"benefit_id\": \"<string>\",\n \"customer_id\": \"<string>\",\n \"increment_usage\": 123,\n \"conditions\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"organization_id": "<string>",
"customer_id": "<string>",
"customer": {
"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"external_id": "usr_1337",
"email": "customer@example.com",
"email_verified": true,
"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": "2023-11-07T05:31:56Z",
"avatar_url": "https://www.gravatar.com/avatar/xxx?d=404",
"type": "individual"
},
"benefit_id": "<string>",
"key": "<string>",
"display_key": "<string>",
"status": "granted",
"limit_activations": 123,
"usage": 123,
"limit_usage": 123,
"validations": 123,
"last_validated_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"activation": {
"id": "<string>",
"license_key_id": "<string>",
"label": "<string>",
"meta": {},
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z"
}
}{
"error": "ResourceNotFound",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
You can generate an Organization Access Token from your organization's settings.
Body
application/json
The benefit ID.
Key-value object allowing you to set conditions that must match when validating the license key.
The key must be a string with a maximum length of 40 characters. The value must be either:
- A string with a maximum length of 500 characters
- An integer
- A floating-point number
- A boolean
You can store up to 50 key-value pairs.
Show child attributes
Show child attributes
Response
Successful Response
The ID of the object.
Creation timestamp of the object.
Last modification timestamp of the object.
Show child attributes
Show child attributes
The benefit ID.
Available options:
granted, revoked, disabled Show child attributes
Show child attributes
⌘I
Go (SDK)
package main
import(
"context"
"os"
macropaygo "github.com/web3group/macropay-go-main"
"github.com/web3group/macropay-go-main/models/components"
"log"
)
func main() {
ctx := context.Background()
s := macropaygo.New(
macropaygo.WithSecurity(os.Getenv("MACROPAY_ACCESS_TOKEN")),
)
res, err := s.LicenseKeys.Validate(ctx, components.LicenseKeyValidate{
Key: "<key>",
OrganizationID: "<value>",
})
if err != nil {
log.Fatal(err)
}
if res.ValidatedLicenseKey != nil {
// handle response
}
}from macropay_sdk import Macropay
with Macropay(
access_token="<YOUR_BEARER_TOKEN_HERE>",
) as macropay:
res = macropay.license_keys.validate(request={
"key": "<key>",
"organization_id": "<value>",
})
# Handle response
print(res)import { Macropay } from "@macropayments/sdk";
const macropay = new Macropay({
accessToken: process.env["MACROPAY_ACCESS_TOKEN"] ?? "",
});
async function run() {
const result = await macropay.licenseKeys.validate({
key: "<key>",
organizationId: "<value>",
});
console.log(result);
}
run();declare(strict_types=1);
require 'vendor/autoload.php';
use Macropay;
use Macropay\Models\Components;
$sdk = Macropay\Macropay::builder()
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Components\LicenseKeyValidate(
key: '<key>',
organizationId: '<value>',
);
$response = $sdk->licenseKeys->validate(
request: $request
);
if ($response->validatedLicenseKey !== null) {
// handle response
}curl --request POST \
--url https://api.macropay.ai/v1/license-keys/validate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"organization_id": "<string>",
"activation_id": "<string>",
"benefit_id": "<string>",
"customer_id": "<string>",
"increment_usage": 123,
"conditions": {}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
key: '<string>',
organization_id: '<string>',
activation_id: '<string>',
benefit_id: '<string>',
customer_id: '<string>',
increment_usage: 123,
conditions: {}
})
};
fetch('https://api.macropay.ai/v1/license-keys/validate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.macropay.ai/v1/license-keys/validate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\",\n \"organization_id\": \"<string>\",\n \"activation_id\": \"<string>\",\n \"benefit_id\": \"<string>\",\n \"customer_id\": \"<string>\",\n \"increment_usage\": 123,\n \"conditions\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.macropay.ai/v1/license-keys/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"key\": \"<string>\",\n \"organization_id\": \"<string>\",\n \"activation_id\": \"<string>\",\n \"benefit_id\": \"<string>\",\n \"customer_id\": \"<string>\",\n \"increment_usage\": 123,\n \"conditions\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"organization_id": "<string>",
"customer_id": "<string>",
"customer": {
"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"external_id": "usr_1337",
"email": "customer@example.com",
"email_verified": true,
"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": "2023-11-07T05:31:56Z",
"avatar_url": "https://www.gravatar.com/avatar/xxx?d=404",
"type": "individual"
},
"benefit_id": "<string>",
"key": "<string>",
"display_key": "<string>",
"status": "granted",
"limit_activations": 123,
"usage": 123,
"limit_usage": 123,
"validations": 123,
"last_validated_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"activation": {
"id": "<string>",
"license_key_id": "<string>",
"label": "<string>",
"meta": {},
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z"
}
}{
"error": "ResourceNotFound",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}