Permissions
Almost every request to the emnify API is authorized against a single permission.
A few endpoints need none: public ones such as authentication, and a handful that only require a signed-in user.
If your role doesn’t include the permission an endpoint requires, the API responds with 403 Forbidden.
Each endpoint’s required permission is shown in a callout at the top of its reference page. For endpoints that require no permission, such as authentication, the callout says so. For every permission at once, and the roles that include it, see the permission reference.
Permissions are in beta. To request access, contact your Customer Success Manager.
How permissions work
A permission is a pair of a resource (the thing you act on) and an action (what you do to it).
In these docs it’s written as Resource + Action, for example Endpoint + List.
You always need the exact pair.
Permissions are grouped into roles, and every user is assigned a role:
- System roles are built in and can’t be edited: Administrator, User, and Observer. Each includes a fixed set of permissions.
- Custom roles let you grant an exact set of permissions that you choose.
To call an endpoint, your role must include that endpoint’s required permission.
Roles and permissions documents what each system role includes in the emnify Portal. A custom role grants whatever combination you choose.
The permission model
System roles
To grant a different combination, create a custom role from the permissions in the reference below. For ready-made permission sets covering three common jobs, see Role templates.
Permission reference
This reference covers the emnify REST API. Permissions for pre-release APIs are added when those APIs become generally available.
The table lists each API permission and which system roles include it.
| Resource | Action | Administrator | User | Observer |
|---|---|---|---|---|
ApplicationToken | List | Yes | Yes | Yes |
Create | Yes | No | No | |
Update | Yes | No | No | |
Authenticate.Workspace | Get | Yes | Yes | Yes |
BreakoutRegion | List | Yes | Yes | Yes |
CallbackSecret | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Create | Yes | Yes | No | |
Delete | Yes | Yes | No | |
CallbackUrl | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Create | Yes | Yes | No | |
Delete | Yes | Yes | No | |
CloudConnect.Breakout | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Create | Yes | Yes | No | |
Delete | Yes | No | No | |
CloudConnect.Breakout.Tgw | Create | Yes | Yes | No |
CloudConnect.Breakout.Vpn | Create | Yes | Yes | No |
CloudConnect.BreakoutType | List | Yes | Yes | Yes |
CloudConnect.BreakoutType.Region | List | Yes | Yes | Yes |
CloudConnect.Pricing | List | Yes | Yes | Yes |
Country | List | Yes | Yes | Yes |
Currency | List | Yes | Yes | Yes |
DataBlocksize | List | Yes | Yes | Yes |
DataStream | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Create | Yes | Yes | No | |
Update | Yes | Yes | No | |
Delete | Yes | Yes | No | |
Restart | Yes | Yes | No | |
DataStream.FilterFieldType | List | Yes | Yes | Yes |
DataStream.Status | List | Yes | Yes | Yes |
DataStream.Type | List | Yes | Yes | Yes |
DataThrottle | List | Yes | Yes | Yes |
Dns | List | Yes | Yes | No |
Create | Yes | Yes | No | |
Delete | Yes | Yes | No | |
DnsFirewallProfile | List | Yes | No | No |
Get | Yes | No | No | |
Create | Yes | No | No | |
Update | Yes | No | No | |
Delete | Yes | No | No | |
Endpoint | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Create | Yes | Yes | No | |
Update | Yes | Yes | No | |
Delete | Yes | Yes | No | |
Endpoint.Connectivity | Get | Yes | Yes | Yes |
Update | Yes | Yes | No | |
Endpoint.Event | List | Yes | Yes | Yes |
Endpoint.FlowLogs.Destination | List | Yes | No | No |
Endpoint.FlowLogs.Detail | List | Yes | No | No |
Endpoint.OperatorBlacklist | List | Yes | Yes | Yes |
Delete | Yes | Yes | No | |
Add | Yes | Yes | No | |
Endpoint.Quota.Data | Get | Yes | Yes | Yes |
Create | Yes | Yes | No | |
Delete | Yes | Yes | No | |
Endpoint.Quota.Sms | Get | Yes | Yes | Yes |
Create | Yes | Yes | No | |
Delete | Yes | Yes | No | |
Endpoint.Sms | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Create | Yes | Yes | No | |
Cancel | Yes | Yes | No | |
Endpoint.Stats | Get | Yes | Yes | Yes |
Endpoint.Status | List | Yes | Yes | Yes |
Endpoint.Tag | List | Yes | Yes | Yes |
Add | Yes | Yes | No | |
Remove | Yes | Yes | No | |
Endpoint.TrafficLimitExtension | List | Yes | Yes | Yes |
Create | Yes | Yes | No | |
Delete | Yes | Yes | No | |
EsmeInterfaceType | List | Yes | Yes | Yes |
Event | List | Yes | Yes | Yes |
Event.Type | List | Yes | Yes | Yes |
IpAddressSpace | List | Yes | Yes | Yes |
Create | Yes | No | No | |
Add | Yes | No | No | |
Remove | Yes | No | No | |
IpFirewallProfile | List | Yes | No | No |
Create | Yes | No | No | |
Operator | List | Yes | Yes | Yes |
Organisation.InclusiveVolume | List | Yes | Yes | Yes |
Add | Yes | Yes | No | |
Organisation.My | Get | Yes | Yes | Yes |
Organisation.Permission | List | Yes | No | No |
Organisation.Role | List | Yes | Yes | No |
Get | Yes | Yes | No | |
Create | Yes | No | No | |
Update | Yes | No | No | |
Delete | Yes | No | No | |
Organisation.Stats | Get | Yes | Yes | Yes |
Organisation.Status | List | Yes | Yes | Yes |
Organisation.Tariff | Update | Yes | Yes | No |
Organisation.TariffPlan | List | Yes | Yes | Yes |
RatType | List | Yes | Yes | Yes |
Service | List | Yes | Yes | Yes |
Service.TrafficLimit | List | Yes | Yes | Yes |
ServiceProfile | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Create | Yes | Yes | No | |
Update | Yes | Yes | No | |
Delete | Yes | Yes | No | |
ServiceProfile.DnsFirewallRuleSet | Update | Yes | No | No |
ServiceProfile.Quota | Remove | Yes | Yes | No |
ServiceProfile.Service | Add | Yes | Yes | No |
Remove | Yes | Yes | No | |
ServiceProfile.Service.TrafficLimit | Delete | Yes | Yes | No |
Add | Yes | Yes | No | |
ServiceProfile.TrafficLimit | List | Yes | Yes | Yes |
Create | Yes | Yes | No | |
Delete | Yes | Yes | No | |
Sim | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Update | Yes | Yes | No | |
Delete | Yes | Yes | No | |
Sim.Event | List | Yes | Yes | Yes |
Sim.Stats | Get | Yes | Yes | Yes |
Sim.Status | List | Yes | Yes | Yes |
Sim.Workspace | Transfer | Yes | No | No |
SimBatch.Bic | Get | Yes | Yes | Yes |
Add | Yes | Yes | No | |
Tag | List | Yes | Yes | Yes |
Create | Yes | Yes | No | |
Update | Yes | Yes | No | |
Delete | Yes | Yes | No | |
Tag.Color | List | Yes | Yes | Yes |
TariffPlan | List | Yes | Yes | Yes |
TariffProfile | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Create | Yes | Yes | No | |
Update | Yes | Yes | No | |
Delete | Yes | Yes | No | |
TariffProfile.Coverage | List | Yes | Yes | Yes |
TariffProfile.InclusiveVolume | Add | Yes | Yes | No |
Remove | Yes | Yes | No | |
TariffProfile.OperatorBlocklist.Operator | List | Yes | Yes | Yes |
Get | Yes | Yes | Yes | |
Add | Yes | Yes | No | |
Remove | Yes | Yes | No | |
TariffProfile.OperatorBlocklist.Operator.RatType | Add | Yes | Yes | No |
Remove | Yes | Yes | No | |
TariffProfile.RatezoneSelection | Add | Yes | Yes | No |
Remove | Yes | Yes | No | |
TrafficLimit | List | Yes | Yes | Yes |
User | List | Yes | No | No |
Get | Yes | No | No | |
Create | Yes | No | No | |
Update | Yes | No | No | |
Delete | Yes | No | No | |
User.DefaultOrganisation | Update | Yes | No | No |
User.Event | List | Yes | No | No |
User.Invitation | Create | Yes | No | No |
User.Mfa | Delete | Yes | Yes | Yes |
User.Mfa.Status | List | Yes | Yes | Yes |
User.Mfa.TrustedDevice | List | Yes | No | No |
Delete | Yes | No | No | |
User.Mfa.Type | List | Yes | Yes | Yes |
User.My.Role | List | Yes | Yes | No |
User.Role | Add | Yes | No | No |
Remove | Yes | No | No | |
User.Role.Permission | List | Yes | No | No |
User.Status | List | Yes | Yes | Yes |
User.Workspace | List | Yes | Yes | Yes |
Update | Yes | No | No | |
Remove | Yes | No | No | |
User.Workspace.Role | Add | Yes | No | No |
Remove | Yes | No | No |