For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Request featuresContact support
DocsAPI ReferenceGraphQLIntegrationsDeveloper Tools
DocsAPI ReferenceGraphQLIntegrationsDeveloper Tools
  • Authentication
    • POSTRetrieve authentication token
    • POSTCreate an MFA key
    • PATCHActivate MFA key
    • DELDelete an MFA key
    • GETList MFA key statuses
    • GETList MFA key types
    • GETList trusted devices
    • DELDelete a trusted device
  • Password Management and Activation
    • POSTInvite a user
    • POSTActivate user
    • POSTResend user activation email
    • PATCHChange password
  • Endpoint
    • GETList endpoints
    • POSTCreate an endpoint
    • POSTBulk create endpoints
    • DELBulk delete endpoints
    • PATCHBulk update endpoints
    • GETList endpoint statuses
    • GETEndpoint details
    • DELDelete an endpoint
    • PATCHUpdate an endpoint
    • GETEndpoint connectivity status
    • PATCHReset endpoint connectivity
    • GETList endpoint events
    • GETEndpoint usage and cost statistics
    • GETRetrieve daily usage statistics for an endpoint
    • GETList sent and received SMS
    • POSTSend SMS to an endpoint
    • GETSMS details
    • DELCancel SMS
    • GETRetrieve connectivity information for an endpoint
    • GETList active traffic limit extensions
    • POSTCreate traffic limit extension
    • DELDelete all traffic limit extensions for an endpoint
    • GETList operator blacklist for endpoint
    • PUTAdd an operator to the blacklist
    • DELRemove an operator from the blacklist
    • GETRetrieve data quota details
    • POSTSet data quota
    • DELRemove data quota
    • GETShow SMS quota details
    • POSTSet SMS quota
    • DELRemove SMS quota
  • Organization
    • GETOrganization usage and costs statistics per day for the current month
    • GETMy organization details
    • GETList organization statuses
    • GETMonthly organization traffic and cost statistics
    • GETDaily organization traffic and cost statistics
    • GETHourly organization traffic statistics
    • PATCHUpdate assigned tariff
    • PUTAssign a ratezone inclusive volume to an organization
    • GETGet list of active organization inclusive volumes
  • Sim
    • GETList SIMs
    • GETList SIM statuses
    • GETSIM details
    • DELDelete a SIM
    • PATCHUpdate a SIM
    • GETSIM usage and cost statistics
    • GETDaily SIM usage statistics
    • GETList SIM events
    • GETValidate SIM batch by BIC
    • PATCHRegister a given batch by BIC
    • DELBulk delete SIMs
    • POSTMigrate SIMs between Workspaces
  • Events
    • GETList events
    • GETList event types
  • Lookups
    • GETList country codes
    • GETList currencies
    • GETList data blocksizes
    • GETList data throttles
    • GETList breakout regions
    • GETList ESME interface types
    • GETList RAT types
    • GETGet list of service levels
  • Operator
    • GETList operators
  • Application Tokens
    • GETList application tokens
    • POSTCreate application token
    • PATCHUpdate application token
  • Tariff Profiles
    • GETList tariff profiles
    • POSTCreate tariff profile
    • GETTariff profile details
    • DELDelete tariff profile
    • PATCHUpdate tariff profile
    • PUTAssign ratezone to tarriff profile
    • DELDelete ratezone from tariff profile
    • GETGet the operator blocklist for a specific tariff profile
    • GETGet operator blocklist for a specific tariff profile
    • PUTBlock the operator completely for a given tariff profile
    • DELRemove an operator from the blocklist
    • POSTBlock specific RAT types
    • DELUnblock a specific RAT type
    • GETList tariff profile coverage
    • PUTAssign inclusive volume to tarriff profile
    • DELUnassign inclusive volume from tariff profile
  • Service Profiles
    • GETList service profiles
    • POSTCreate service profile
    • GETRetrieve a service profile
    • DELDelete a service profile
    • PATCHUpdate service profile
    • DELRemove all quotas of assigned endpoints
    • PUTAdd a service to a service profile
    • DELRemove a service from a service profile
    • PUTAdd SMS limit to service profile
    • DELRemove SMS limit from a service profile
    • GETList data limits of service profile
    • POSTAdd data limit to service profile
    • DELDelete all data limits of a service profile
    • DELRemove data limit from a service profile
  • Service Lookups and Configuration
    • GETList services
    • GETGet service SMS limit
    • GETList traffic limits
    • GETList DNS configs
    • POSTCreate DNS config
    • DELDelete DNS config
  • User Management
    • GETList user accounts
    • POSTCreate user
    • GETList user statuses
    • GETList user roles
    • GETGet user by ID or username
    • DELDelete user by ID
    • PATCHUpdate user by ID
    • GETList user events
    • GETList user role permissions
    • PUTAssign role to user
    • DELDelete user role
    • DELDelete user by ID
    • POSTCreate support access token for given user
  • IP Address Spaces
    • GETList IP address spaces
    • POSTCreate an IP address space
    • GETGet random address spaces
    • PUTAssign an IP address space to an organization
    • DELRelease an IP address space from an organization
  • Integrations
    • GETList data stream configurations of your organization
    • POSTCreate data stream
    • GETGet data stream statuses
    • GETGet data stream types
    • GETGet data stream filter fields
    • GETGet details on existing data stream
    • DELDelete existing data stream
    • PATCHModify existing data stream
    • POSTRestart existing data stream
    • GETRetrieve list of API callback URLs
    • POSTCreate a callback URL
    • GETGet a callback URL by ID
    • DELDelete a callback URL
    • GETList API callback secrets
    • POSTCreate a callback secret
    • GETGet a callback secret by ID
    • DELDelete a callback secret
  • Cloud Connect
    • GETList all Cloud Connect attachments of an organization
    • GETList Cloud Connect breakout types
    • GETView details of a Cloud Connect attachment
    • DELDelete a specific Cloud Connect attachment
    • PATCHRetry creation of an expired TGW breakout
    • POSTCreate a Cloud Connect attachment via Transit Gateway
    • POSTCreate a Cloud Connect attachment via IPSec VPN
    • GETList Cloud Connect prices
    • GETGet list of available Cloud Connect regions by breakout type
  • Tariff Plans
    • GETList organization tariff plans
    • GETRetrieve your organization's active tariff plan
    • GETGet the active tariff plan for the given organization
  • Workspaces
    • POSTSwitch to an assigned Workspace
    • POSTAccept user invitation
    • PUTAssign a role to a Workspace user
    • DELRemove a role from a Workspace user
    • PUTUpdate a user's default Workspace
    • GETList assigned Workspaces
    • DELUnassign a Workspace
    • PATCHUpdate user status in a Workspace
    • GETRetrieve Workspace daily stats
  • Tag Management
    • GETReturns the list of available tag colors
    • GETList tags
    • POSTCreate a tag
    • DELDelete a tag
    • PATCHUpdate a tag
    • GETList endpoint tags
    • POSTAssign a tag to an endpoint
    • DELUnassign a tag from an endpoint
    • POSTBulk assign tags
    • POSTBulk unassign tags
    • POSTBulk delete tags
  • Automations
    • GETList action logs
    • GETList available actions
    • GETGet an action by ID
    • GETList configured automations
    • POSTCreate an automation
    • GETGet configured automation by ID
    • DELDelete a configured automation
    • PATCHUpdate an automation
    • POSTVerify an automation recipient's email address
  • System Events
    • GETList system events
    • GETGet a system event by ID
  • Custom Events
    • GETList custom event templates
    • GETGet a custom event template by ID
    • GETList custom events
    • POSTDeploy custom event
    • GETGet a custom event by ID
    • DELDelete custom event
  • euicc
    • GETList eUICCs
    • GETList eUICC status
    • GETList eUICC Profile status
    • GETGet eUICC
    • POSTUnlinked eUICC validation
  • Euicc Operation
    • GETList operation action for eUICC
    • GETList operation status for eUICC
    • GETList operation for eUICC
    • POSTSchedule eUICC operations
    • GETGet operation details
    • DELCancel operation
  • Sim Unlinked Product Statistics
    • GETGet product statistics on unlinked eSIMs
  • Sim Operation
    • GETList SIM operation actions
    • GETList SIM operation status
    • GETList SIM operations for organization
    • POSTTrigger SIM operation
    • GETGet SIM operation details
LogoLogo
Request featuresContact support
Authentication

Retrieve authentication token

POST
https://cdn.emnify.net/api/v1/authenticate
POST
/api/v1/authenticate
$curl -X POST https://cdn.emnify.net/api/v1/authenticate \
> -H "Content-Type: application/json" \
> -d '{
> "application_token": "5cCI6IkpXVCJ9.."
>}'
1{
2 "auth_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
3}
Returns a [JSON Web Token (JWT)](/developers/auth/jwts) `auth_token` for authenticating further requests to the API. <Note> This API path has a rate limit of 100 requests per IP in a 5-minute window. Make sure to store your authentication token to avoid hitting this limit. For more information, see [Rate limits](/developers/api-guidelines/rate-limits). </Note> ### Multi-factor authentication flow When multi-factor authentication (MFA) is enabled for a user account: 1. **Initial login**: Send your username and SHA-1 hashed password. If MFA is enabled and the device isn't trusted, you receive an `mfa_token` instead of `auth_token` in the response and a one-time password (OTP) via email. 2. **MFA verification**: Send the `mfa_token` with the 6-digit OTP `code`. Optionally include `trusted_device` information to skip MFA for 90 days. 3. **Subsequent logins**: If you included a trusted device fingerprint during verification, send your username and SHA-1 hashed password with the `fingerprint` to bypass MFA. For more information, see [Multi-factor authentication](/developers/auth/multi-factor-authentication).
Was this page helpful?
Next

Create an MFA key

Built with

Returns a JSON Web Token (JWT) auth_token for authenticating further requests to the API.

This API path has a rate limit of 100 requests per IP in a 5-minute window. Make sure to store your authentication token to avoid hitting this limit. For more information, see Rate limits.

Multi-factor authentication flow

When multi-factor authentication (MFA) is enabled for a user account:

  1. Initial login: Send your username and SHA-1 hashed password. If MFA is enabled and the device isn’t trusted, you receive an mfa_token instead of auth_token in the response and a one-time password (OTP) via email.
  2. MFA verification: Send the mfa_token with the 6-digit OTP code. Optionally include trusted_device information to skip MFA for 90 days.
  3. Subsequent logins: If you included a trusted device fingerprint during verification, send your username and SHA-1 hashed password with the fingerprint to bypass MFA.

For more information, see Multi-factor authentication.

Request

Authenticate with an [application token](/developers/auth/application-tokens). <Info> **Temporary exception**: [User credentials](/developers/auth/user-credentials) are currently required for operations that span multiple workspaces, such as switching between workspaces or transferring SIMs. These APIs are being updated to support application tokens. </Info>
application_tokenstringOptional
Application token for authentication
usernamestringOptional
Username for user credentials authentication
passwordstringOptionalformat: "password"

User password. Must be SHA-1 hashed when authenticating with user credentials.

fingerprintstringOptional

Device fingerprint for trusted device authentication (skips MFA)

refresh_tokenstringOptional

Refresh token to obtain a new auth_token

mfa_tokenstringOptional
MFA token received when MFA is enabled
codestringOptional=6 characters

6-digit one-time password (OTP) for MFA verification

trusted_deviceobjectOptional

Device information to register as trusted (90-day MFA exemption)

Response

Successful Authentication Request
auth_tokenstring

JWT authentication token (returned for successful authentication)

refresh_tokenstring

Refresh token (returned with auth_token for user credentials auth)

mfa_tokenstring

MFA token (returned instead of auth_token when MFA is enabled and device isn’t trusted)

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error

Authenticate with an application token.

Temporary exception: User credentials are currently required for operations that span multiple workspaces, such as switching between workspaces or transferring SIMs. These APIs are being updated to support application tokens.