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 | Route |
|---|---|---|
| GET | List licenses | https://agents.netify.ai/api/v2/integrator/licenses |
| POST | Create a new license | https://agents.netify.ai/api/v2/integrator/licenses |
| GET | View a license | https://agents.netify.ai/api/v2/integrator/licenses/{serial} |
| POST | Extend expiry of a license | https://agents.netify.ai/api/v2/integrator/licenses/{serial}/renew |
| DELETE | Delete a license | https://agents.netify.ai/api/v2/integrator/licenses/{serial} |
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 | Description |
|---|---|---|
| 200 | OK | Request was successful |
| 400 | Bad Request | The client request was invalid |
| 401 | Unauthorized | The API key or credentials were invalid |
| 403 | Forbidden | The API key or credentials were valid, but access was not permitted |
| 404 | Not Found | The resource was not found |
| 405 | Method Not Allowed | The method is not supported by the API |
| 409 | Conflict | Resource already exists |
| 422 | Validation Error | Parameters sent in the request were invalid |
| 429 | Too Many Requests | Too many requests were sent to the server |
| 500 | Server Error | Server-side error (rare) |
List Licenses Endpoint
Headers
x-api-key
stringParameters
format
string# 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
Headers
x-api-key
stringContent-Type
stringParameters
format
stringissued_to
stringexpire_at
stringduration_days
integerduid
stringdescription
stringnotes
stringrenewable
booleantransferable
booleanentitlements
arrayIf 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 |
|---|---|
| netify-proc-aggregator | The Netify aggregator plugin. |
| netify-proc-flow-actions | The Netify flow actions plugin. |
| netify-proc-dev-discovery | The Netify device discovery plugin. |
| netify-proc-python | The Netify Python binding plugin. |
| netify-proc-lua | The Netify Lua binding plugin. |
| netify-proc-intel | The Netify Intel plugin (pending release). |
| netify-sink-mqtt | The Netify message queue (MQTT) plugin. |
| netify-sink-ubus | The Netify ubus plugin. |
| application-signatures | The Netify commercial application signatures updates (Netify 5.2 and later only). |
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.
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
Headers
x-api-key
stringParameters
format
string# 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
Headers
x-api-key
stringParameters
expire_at
stringduration_days
integerIf 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.
# 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
Headers
x-api-key
stringcurl -H "x-api-key: {api_key}" \
-X DELETE "https://agents.netify.ai/api/v2/integrator/licenses/2025-7546-23742565"