Licensing API

The Netify Licensing API provides integrators and vendors with a comprehensive interface to create, renew, and retire licenses for Netify Agents and plugins deployed across endpoints. With this API, you can programmatically issue new licenses, renew existing ones, and retire licenses as devices are decommissioned.

Please contact us about obtaining an API key.

Endpoint Summary

The following endpoints provide information on the license system supported by the Netify Agent:

Method Action

Authentication

To access these endpoints, an API key must be passed in the x-api-key parameter in the request headers. Please contact us for details about acquiring an API key.

Response Codes and Format

Standard HTTP response codes are sent by the API, along with the following status attributes (if available):

  • status_code: a status code number
  • status_message: a human-readable status message
  • status_fields: an array of validation errors (if any)

Response Payload - Status Information

{
   "status_code": 0,
   "status_message": "Success.",
   "data": ...
}

Additionally, the API sends standard HTTP response codes.

Code Response
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
409 Conflict
422 Validation Error
429 Too Many Requests
500 Server Error

List Licenses Endpoint

GET
https://agents.netify.ai/api/v2/integrator/licenses
Returns a list of all licenses created with the API key provided in the header.

Headers

x-api-key

string
Required API key passed in the request header.

Parameters

format

string
Specifies response format: netifyd for JSON encoded license suitable for Netify Agent deployment (default), or object for object representation used in lifecycle management operations.
Terminal - Netify
×
# Netify Agent (JSON) format
curl -H "x-api-key: {api_key}" \
--get "https://agents.netify.ai/api/v2/integrator/licenses"

# Object format
curl -H "x-api-key: {api_key}" \
--get "https://agents.netify.ai/api/v2/integrator/licenses?format=object"

Create License Endpoint

POST
https://agents.netify.ai/api/v2/integrator/licenses
Creates a new license.

Headers

x-api-key

string
Required API key passed in the request header.

Content-Type

string
Set to application/json.

Parameters

format

string
Same behavior as the list endpoint format parameter.

issued_to

string
Required. The name of the individual or organization the license is being issued to.

expire_at

string
Optional. Requested expiry date formatted as YYYY-MM-DD.

duration_days

integer
Optional. Alternative to expire_at; requests an expiry date duration_days from the current date.

duid

string
Optional. Unique device identifier used to restrict the license to a specific hardware endpoint.

description

string
Optional description to add to the generated license.

notes

string
Optional note to add to the generated license.

renewable

boolean
Optional. Allows or denies future renewal. Requires API key entitlement. Default is entitlement-dependent.

transferable

boolean
Optional. Requests omission of the standard non-transferable legal clause. Requires API key entitlement.

entitlements

array
Required. The entitlements the license should provide access to.

If neither expire_at nor duration_days is provided, the default will be the maximum allowable license term as permitted by the API key - this ranges from 7 days to 12 months.

Keyword Description

Please note that an API key may be given access to one or more of these entitlements by your eGloo account representative. If you receive an error that permission has been denied, contact us to discuss a modification to your API key capabilities.

Terminal - Netify
×
curl -H "x-api-key: {api_key}" \
     -H "Content-Type: application/json" \
     -X POST "https://agents.netify.ai/api/v2/integrator/licenses" \
     --data '{
        "issued_to": "Acme Inc.",
        "expire_at": "2025-10-13",
        "description": "Flow Actions Policy Control",
        "entitlements": [
            "netify-proc-flow-actions"
        ]
    }'

View License Endpoint

GET
https://agents.netify.ai/api/v2/integrator/licenses/{serial}
Looks up a license by serial number.

Headers

x-api-key

string
Required API key passed in the request header.

Parameters

format

string
Same behavior as the list endpoint format parameter.
Terminal - Netify
×
# Netify Agent (JSON) format
curl -H "x-api-key: {api_key}" \
    --get "https://agents.netify.ai/api/v2/integrator/licenses/2025-7546-23742565"

# Object format
curl -H "x-api-key: {api_key}" \
    --get "https://agents.netify.ai/api/v2/integrator/licenses/2025-7546-23742565?format=object"

Renew License Endpoint

POST
https://agents.netify.ai/api/v2/integrator/licenses/{serial}/renew
Extends the expiry of an existing license.

Headers

x-api-key

string
Required API key passed in the request header.

Parameters

expire_at

string
Optional. Requested expiry date formatted as YYYY-MM-DD.

duration_days

integer
Optional. Alternative to expire_at; requests an expiry date duration_days from the current date.

If neither expire_at nor duration_days is provided, the default will be the maximum allowable license term as permitted by the API key - this ranges from 7 days to 12 months.

Terminal - Netify
×
# By date
curl -H "x-api-key: {api_key}" \
     -H "Content-Type: application/json" \
     -X POST "https://agents.netify.ai/api/v2/integrator/licenses/2025-7546-23742565" \
     --data '{
         "expire_at": "2025-10-13"
     }'

# By duration
curl -H "x-api-key: {api_key}" \
     -H "Content-Type: application/json" \
     -X POST "https://agents.netify.ai/api/v2/integrator/licenses/2025-7546-23742565" \
     --data '{
         "duration_days": 30
     }'

Delete License Endpoint

DELETE
https://agents.netify.ai/api/v2/integrator/licenses/{serial}
Deletes a license.

Headers

x-api-key

string
Required API key passed in the request header.
Terminal - Netify
×
curl -H "x-api-key: {api_key}" \
    -X DELETE "https://agents.netify.ai/api/v2/integrator/licenses/2025-7546-23742565"