> This page is for Developers.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.emnify.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.emnify.com/_mcp/server.

> The API permissions that grant access to more than one endpoint, so you can see the full reach of a permission before you add it to a custom role.

Most permissions grant access to a single endpoint, but some grant several.
For example, `Organisation.Stats` + `Get` covers the monthly, daily, and hourly organization statistics, plus the Workspace statistics.
If you add that permission to a [custom role](/developers/api-guidelines/manage-permissions#create-a-custom-role) so someone can read monthly statistics, they can also call every other endpoint it covers.

This page lists only the permissions that grant more than one endpoint.
On an endpoint's reference page, the permission callout shows how many other endpoints its permission grants and links here.
For example, the callout on [Monthly organization traffic and cost statistics](/developers/api/organization/get-organisation-monthly-stats) shows **+4 endpoints**.
Every permission not listed grants only the endpoint whose callout shows it.
For the system roles that include each permission, see the [permission reference](/developers/api-guidelines/permissions#permission-reference).

> **Note**
>
> This list covers the emnify REST API. Permissions for pre-release APIs are added when those APIs become generally available.

<table sticky>
  <thead>
    <tr>
      <th scope="col">
        Permission
      </th>

      <th scope="col">
        Endpoints
      </th>
    </tr>
  </thead>

  <tbody>
    <tr id="permission-applicationtoken-list">
      <td scope="row">
        `ApplicationToken`

         \+ 

        `List`
      </td>

      <td>
        [`GET /api/v1/application_token`](/developers/api/application-tokens/application-token-get)

        \


        [`GET /api/v2/application_token`](/developers/api/application-tokens/list-application-tokens)
      </td>
    </tr>

    <tr id="permission-applicationtoken-create">
      <td scope="row">
        `ApplicationToken`

         \+ 

        `Create`
      </td>

      <td>
        [`POST /api/v1/application_token`](/developers/api/application-tokens/application-token-post)

        \


        [`POST /api/v2/application_token`](/developers/api/application-tokens/create-application-token)
      </td>
    </tr>

    <tr id="permission-applicationtoken-update">
      <td scope="row">
        `ApplicationToken`

         \+ 

        `Update`
      </td>

      <td>
        [`PATCH /api/v1/application_token/{app_token_id}`](/developers/api/application-tokens/application-token-by-id-patch)

        \


        [`PATCH /api/v2/application_token/{id}`](/developers/api/application-tokens/update-application-token)
      </td>
    </tr>

    <tr id="permission-endpoint-create">
      <td scope="row">
        `Endpoint`

         \+ 

        `Create`
      </td>

      <td>
        [`POST /api/v1/endpoint`](/developers/api/endpoint/create-endpoint)

        \


        [`POST /api/v2/endpoint/multi`](/developers/api/endpoint/bulk-create-endpoint)
      </td>
    </tr>

    <tr id="permission-endpoint-update">
      <td scope="row">
        `Endpoint`

         \+ 

        `Update`
      </td>

      <td>
        [`PATCH /api/v1/endpoint/{endpoint_id}`](/developers/api/endpoint/endpoint-by-id-patch)

        \


        [`PATCH /api/v2/endpoint/multi`](/developers/api/endpoint/bulk-update-endpoint)
      </td>
    </tr>

    <tr id="permission-endpoint-delete">
      <td scope="row">
        `Endpoint`

         \+ 

        `Delete`
      </td>

      <td>
        [`DELETE /api/v1/endpoint/{endpoint_id}`](/developers/api/endpoint/endpoint-by-id-delete)

        \


        [`DELETE /api/v2/endpoint/multi`](/developers/api/endpoint/bulk-delete-endpoint)
      </td>
    </tr>

    <tr id="permission-endpoint-connectivity-get">
      <td scope="row">
        `Endpoint.Connectivity`

         \+ 

        `Get`
      </td>

      <td>
        [`GET /api/v1/endpoint/{endpoint_id}/connectivity`](/developers/api/endpoint/endpoint-connectivity-by-id-get)

        \


        [`GET /api/v1/endpoint/{endpoint_id}/connectivity_info`](/developers/api/endpoint/get-connectivity-info-by-endpoint-id)
      </td>
    </tr>

    <tr id="permission-endpoint-stats-get">
      <td scope="row">
        `Endpoint.Stats`

         \+ 

        `Get`
      </td>

      <td>
        [`GET /api/v1/endpoint/{endpoint_id}/stats`](/developers/api/endpoint/endpoint-stats-by-id-get)

        \


        [`GET /api/v1/endpoint/{endpoint_id}/stats/daily`](/developers/api/endpoint/endpoint-stats-daily-by-id-get)
      </td>
    </tr>

    <tr id="permission-endpoint-tag-add">
      <td scope="row">
        `Endpoint.Tag`

         \+ 

        `Add`
      </td>

      <td>
        [`POST /api/v2/bulk-operations/endpoint/add-tags`](/developers/api/tag-management/assign-tag-to-endpoints-in-bulk)

        \


        [`POST /api/v2/endpoint/{endpoint_id}/tags`](/developers/api/tag-management/assign-tag-to-endpoint)
      </td>
    </tr>

    <tr id="permission-endpoint-tag-remove">
      <td scope="row">
        `Endpoint.Tag`

         \+ 

        `Remove`
      </td>

      <td>
        [`POST /api/v2/bulk-operations/endpoint/remove-tags`](/developers/api/tag-management/unassign-tags-from-endpoints-in-bulk)

        \


        [`DELETE /api/v2/endpoint/{endpoint_id}/tags/{tag_id}`](/developers/api/tag-management/unassign-endpoint-tag)
      </td>
    </tr>

    <tr id="permission-ipaddressspace-list">
      <td scope="row">
        `IpAddressSpace`

         \+ 

        `List`
      </td>

      <td>
        [`GET /api/v1/ip_address_space`](/developers/api/ip-address-spaces/ip-address-space-get)

        \


        [`GET /api/v1/ip_address_space/available`](/developers/api/ip-address-spaces/ip-address-space-available-by-ip-address-version-get)
      </td>
    </tr>

    <tr id="permission-organisation-stats-get">
      <td scope="row">
        `Organisation.Stats`

         \+ 

        `Get`
      </td>

      <td>
        [`GET /api/v1/organisation/{org_id}/stats`](/developers/api/organization/get-organisation-monthly-stats)

        \


        [`GET /api/v1/organisation/{org_id}/stats/daily`](/developers/api/organization/get-organisation-daily-stats)

        \


        [`GET /api/v1/organisation/{org_id}/stats/hourly`](/developers/api/organization/get-organisation-hourly-stats)

        \


        [`GET /api/v1/stats/daily`](/developers/api/organization/statistics-daily-by-id-get)

        \


        [`GET /api/v2/workspace/stats/daily`](/developers/api/workspaces/get-workspace-daily-stats)
      </td>
    </tr>

    <tr id="permission-organisation-tariffplan-list">
      <td scope="row">
        `Organisation.TariffPlan`

         \+ 

        `List`
      </td>

      <td>
        [`GET /api/v1/organisation/{org_id_or_my}/tariff_plan/active`](/developers/api/tariff-plans/get-organisation-active-tariff-plan)

        \


        [`GET /api/v1/organisation/{org_id}/tariff_plan`](/developers/api/tariff-plans/organisation-tariff-plan-by-org-id-get)
      </td>
    </tr>

    <tr id="permission-serviceprofile-trafficlimit-delete">
      <td scope="row">
        `ServiceProfile.TrafficLimit`

         \+ 

        `Delete`
      </td>

      <td>
        [`DELETE /api/v1/service_profile/{profile_id}/traffic_limit`](/developers/api/service-profiles/remove-service-profile-traffic-limits)

        \


        [`DELETE /api/v1/service_profile/{profile_id}/traffic_limit/{limit_id}`](/developers/api/service-profiles/delete-service-profile-traffic-limit)
      </td>
    </tr>

    <tr id="permission-sim-delete">
      <td scope="row">
        `Sim`

         \+ 

        `Delete`
      </td>

      <td>
        [`DELETE /api/v1/sim/{sim_id}`](/developers/api/sim/sim-by-id-delete)

        \


        [`DELETE /api/v1/sim/multi`](/developers/api/sim/bulk-sim-delete)
      </td>
    </tr>

    <tr id="permission-sim-stats-get">
      <td scope="row">
        `Sim.Stats`

         \+ 

        `Get`
      </td>

      <td>
        [`GET /api/v1/sim/{sim_id}/stats`](/developers/api/sim/sim-stats-by-id-get)

        \


        [`GET /api/v1/sim/{sim_id}/stats/daily`](/developers/api/sim/sim-statistics-daily-by-id-get)
      </td>
    </tr>

    <tr id="permission-tag-delete">
      <td scope="row">
        `Tag`

         \+ 

        `Delete`
      </td>

      <td>
        [`POST /api/v2/bulk-operations/tag/delete-tags`](/developers/api/tag-management/delete-tags-in-bulk)

        \


        [`DELETE /api/v2/tags/{tag_id}`](/developers/api/tag-management/delete-tag)
      </td>
    </tr>

    <tr id="permission-user-delete">
      <td scope="row">
        `User`

         \+ 

        `Delete`
      </td>

      <td>
        [`DELETE /api/v1/user/{user_id}`](/developers/api/user-management/user-by-id-delete)

        \


        [`DELETE /api/v2/user/{user_id}`](/developers/api/user-management/user-by-id-delete-v-2)
      </td>
    </tr>
  </tbody>
</table>