A dead-simple software licensing API built for developers
Datatype | Description | Example |
---|---|---|
Datepicker | String which includes date and time | |
Map | String which includes latitude and longitude coma separated | |
List | Simple array | |
Select | String with predefined values | |
Array | Array of objects |
You can use our service as url:
https://webhooks.rapidapi.io/api/message/Keygen/webhookEvent/{projectName}/{projectKey} * see credentials description above
Please use SDK to test this feature.
Field | Type | Description |
---|---|---|
projectName | credentials | |
projectKey | credentials |
Generate a new token resource for a user.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
String | Your email | |
password | String | Your password |
Retrieves the details of an existing token.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
tokenId | String | Id of access token |
Regenerate an existing token resource. This will replace the token attribute with a new secure token, and extend the expiry by 2 weeks.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
tokenId | String | Id of access token |
Permanently revokes a token. It cannot be undone. This action also immediately invalidates all sessions using the given token.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
tokenId | String | Id of access token |
Creates a new product resource.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
name | String | Name of the product |
url | String | Url of the product |
platforms | List | Platofrms of the product |
metadata | String | Hash containing product metadata. |
Retrieves the details of an existing product.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
productId | String | Id of product |
Updates the details of an existing product.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
productId | String | Id of product |
name | String | Name of the product |
url | String | Url of the product |
platforms | List | Platofrms of the product |
metadata | String | Hash containing product metadata. |
Deletes an existing product.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
productId | String | Id of product |
Returns a list of products. The products are returned sorted by creation date, with the most recent products appearing first.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
limit | Number | Limit on the number of products to be returned. Limit must be a number between 1 and 100. |
pageSize | Number | Page size must be a number between 1 and 100 |
pageNumber | Number | Number of the page |
Creates a new policy resource.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
name | String | Name of the policy |
duration | Number | Duraion of the policy in seconds |
strict | Select | When enabled, a license that implements the policy will be considered invalid if its machine limit is surpassed. |
floating | Select | When enabled, a license that implements the policy will be valid across multiple machines. |
requireCheckIn | Select | When enabled, a license that implements the policy will require check-in at a predefined interval to continue to pass validation i.e. if a license misses a check-in, it will be invalidated. |
checkInInterval | String | One of day, week, month or year. The frequency at which a license should check-in. |
checkInIntervalCount | Number | The number of intervals (specified in the check-in interval property) between each required check-in. |
usePool | Select | Whether or not to pull license keys from a finite pool of pre-determined keys. |
maxMachines | Number | The maximum number of machines a license implementing the policy can activate per-user. This is only enforced when the policy is strict. |
encrypted | Select | Whether or not to encrypt license keys. |
protected | Select | Whether or not the policy is protected |
metadata | String | Hash containing policy metadata. |
productId | String | The product the policy is for. |
Retrieves the details of an existing policy.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
policyId | String | Id of policy |
Updates the details of an existing policy.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
policyId | String | Id of policy |
name | String | Name of the policy |
duration | Number | Duraion of the policy in seconds |
strict | Select | When enabled, a license that implements the policy will be considered invalid if its machine limit is surpassed. |
floating | Select | When enabled, a license that implements the policy will be valid across multiple machines. |
requireCheckIn | Select | When enabled, a license that implements the policy will require check-in at a predefined interval to continue to pass validation i.e. if a license misses a check-in, it will be invalidated. |
checkInInterval | String | One of day, week, month or year. The frequency at which a license should check-in. |
checkInIntervalCount | Number | The number of intervals (specified in the check-in interval property) between each required check-in. |
maxMachines | Number | The maximum number of machines a license implementing the policy can activate per-user. This is only enforced when the policy is strict. |
protected | Select | Whether or not the policy is protected |
metadata | String | Hash containing policy metadata. |
Deletes an existing policy.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
policyId | String | Id of policy |
Returns a list of policies. The policies are returned sorted by creation date, with the most recent policies appearing first.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
limit | Number | Limit on the number of products to be returned. Limit must be a number between 1 and 100. |
pageSize | Number | Page size must be a number between 1 and 100 |
pageNumber | Number | Number of the page |
product | String | The identifier (UUID) of the product to filter by. |
Creates a new user resource.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
firstName | String | The first name of the user. |
lastName | String | The last name of the user. |
String | The email of the user. | |
password | String | The password of the user. |
role | Select | The role of the user. |
metadata | String | Hash containing user metadata. |
Retrieves the details of an existing user.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
userId | String | Id of user |
Updates the details of an existing user.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
userId | String | Id of user |
firstName | String | The first name of the user. |
lastName | String | The last name of the user. |
String | The email of the user. | |
role | Select | The role of the user. |
metadata | String | Hash containing user metadata. |
Deletes an existing user.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
userId | String | Id of user |
Returns a list of users. The users are returned sorted by creation date, with the most recent users appearing first.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
limit | Number | Limit on the number of users to be returned. Limit must be a number between 1 and 100. |
pageSize | Number | Page size must be a number between 1 and 100 |
pageNumber | Number | Number of the page |
Action to update the user’s password. A user’s password can only be updated when authenticated as the given user.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
userId | String | Id of user |
oldPassword | String | The current password for the user. |
newPassword | String | The new password for the user. |
Fulfill a user’s password reset request. Password reset tokens expire 24 hours after requesting the reset.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
userId | String | Id of user |
passwordResetToken | String | The password reset token emailed to the user. |
newPassword | String | The new password for the user. |
Creates a new license resource.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
key | String | A unique pre-determined key for the license. Cannot be used on encrypted licenses. This attribute will be automatically generated or popped from the remaining pool if left blank. |
suspended | Select | Whether or not the license is suspended. |
metadata | String | Hash containing license metadata. |
policyId | String | The policy to implement for the license |
userId | String | The user the license is for. If ommitted, the license will be user-less. |
Retrieves the details of an existing license.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
Updates the details of an existing license.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
expiry | DatePicker | When the license will expire. |
suspended | Select | Whether or not the license is suspended. |
metadata | String | Hash containing license metadata. |
Deletes an existing license.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
Returns a list of licenses. The licenses are returned sorted by creation date, with the most recent licenses appearing first.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
limit | Number | Limit on the number of licenses to be returned. Limit must be a number between 1 and 100. |
pageSize | Number | Page size must be a number between 1 and 100 |
pageNumber | Number | Number of the page |
user | String | The identifier (UUID) of the user to filter by. |
product | String | The identifier (UUID) of the product to filter by. |
policy | String | The identifier (UUID) of the policy to filter by. |
machine | String | The identifier (UUID) of the machine to filter by. |
suspended | Select | Whether or not the license is suspended. |
Action to validate a license. This will check the following: if the license is suspended, if the license is expired, if the license is overdue for check-in, and if the license meets its machine requirements (if strict).
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
Action to validate a license key. This will look up the license by its key and check the following: if the license is suspended, if the license is expired, if the license is overdue for check-in, and if the license meets its machine requirements (if strict).
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
key | String | Key to validate |
encrypted | Select | Whether the license implements an encrypted policy. Encrypted licenses will fail validation unless this is specified. |
productId | String | Id of product |
policyId | String | Id of policy |
machineId | String | Id of machine |
Action to temporarily suspend (ban) a license. This will cause the license to fail validation until reinistated.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
Action to reinstate a suspended license.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
Action to renew a license. Extends license expiry by the policy’s duration.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
Action to revoke (delete) a license. This cannot be undone. This action also immediately deletes any machines that the license is associated with.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
Action to check-in a license. Sets the license’s lastCheckIn to the current time, and the license’s nextCheckIn according to the policy’s check-in interval.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
licenseId | String | Id of license |
Creates a new machine resource.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
fingerprint | String | The fingerprint of the machine. This can be an arbitrary string, but must be unique within the scope of the license it belongs to. |
name | String | Name of the machine |
ip | String | IP of the machine |
hostname | String | Hostname of the machine |
platform | String | Platform of the machine |
metadata | String | Hash containing machine metadata. |
licenseId | String | The license the machine is for. |
Retrieves the details of an existing machine.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
machineId | String | Id of machine |
Updates the details of an existing machine.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
machineId | String | Id of machine |
name | String | Name of the machine |
ip | String | IP of the machine |
hostname | String | Hostname of the machine |
platform | String | Platform of the machine |
metadata | String | Hash containing machine metadata. |
Deletes an existing machine.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
machineId | String | Id of machine |
Returns a list of machines. The machines are returned sorted by creation date, with the most recent machines appearing first.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
limit | Number | Limit on the number of machines to be returned. Limit must be a number between 1 and 100. |
pageSize | Number | Page size must be a number between 1 and 100 |
pageNumber | Number | Number of the page |
product | String | The identifier (UUID) of the product to filter by. |
fingerprint | String | The identifier (UUID) of the fingerprint to filter by. |
license | String | The identifier (UUID) of the license to filter by. |
user | String | The identifier (UUID) of the user to filter by. |
Creates a new key resource.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
key | String | The unique key string for the key. The key cannot collide with license keys that already exist. |
policyId | String | The license the machine is for. |
Retrieves the details of an existing key.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
keyId | String | Id of key |
Updates the details of an existing key.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
keyId | String | Id of key |
key | String | The unique key string for the key. The key cannot collide with license keys that already exist. |
Delete an existing key.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
keyId | String | Id of key |
Returns a list of keys. The keys are returned sorted by creation date, with the most recent keys appearing first.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
limit | Number | Limit on the number of keys to be returned. Limit must be a number between 1 and 100. |
pageSize | Number | Page size must be a number between 1 and 100 |
pageNumber | Number | Number of the page |
product | String | The identifier (UUID) of the product to filter by. |
policy | String | The identifier (UUID) of the policy to filter by. |
Creates a new webhook resource.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
url | String | The url that events are dispatched to. Must use the https protocol. |
Retrieves the details of an existing webhook.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
webhookId | String | Id of webhook |
Updates the details of an existing webhook.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
webhookId | String | Id of webhook |
url | String | The url that events are dispatched to. Must use the https protocol. |
Deletes an existing webhook.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
webhookId | String | Id of webhook |
Returns a list of webhooks. The webhooks are returned sorted by creation date, with the most recent webhooks appearing first.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
limit | Number | Limit on the number of webhooks to be returned. Limit must be a number between 1 and 100. |
pageSize | Number | Page size must be a number between 1 and 100 |
pageNumber | Number | Number of the page |
Retrieves the details of an existing webhook event.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
webhookEventId | String | Id of webhook event |
Returns a list of webhook events. The webhook events are returned sorted by creation date, with the most recent webhook events appearing first.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
limit | Number | Limit on the number of webhooks to be returned. Limit must be a number between 1 and 100. |
pageSize | Number | Page size must be a number between 1 and 100 |
pageNumber | Number | Number of the page |
events | List | Array containing events to filter by. |
Action to manually retry an event. This creates a new event resource with an identical idempotency token.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
webhookEventId | String | Id of webhook event |
Retrieves the details of the currently authenticated bearer.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
Request a password reset for a user. This will send an email to the user, if it is a valid email address. The email will contain a link leading to a password reset form securely hosted by Keygen.
Field | Type | Description |
---|---|---|
accountId | credentials | Your account id |
accessToken | String | Your access token |
String | The email of the user. | |
deliver | Select | Whether or not to email a password reset notification to the user. When false, you will need to listen for the user.password-reset webhook event and implement the fulfillment logic yourself. |