> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.iot.telia.lt/developers/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.iot.telia.lt/_mcp/server. # Developers ## Docs - [Application tokens](https://docs.iot.telia.lt/developers/auth/application-tokens.md): Create and authenticate with application tokens for secure M2M communication, including security best practices, IP restrictions, and token expiration handling. - [User credentials](https://docs.iot.telia.lt/developers/auth/user-credentials.md): Authenticate with username and password to access API operations that span multiple Workspaces, including refresh token management. - [Multi-factor authentication](https://docs.iot.telia.lt/developers/auth/multi-factor-authentication.md): Handle multi-factor authentication (MFA) when authenticating with user credentials, including the two-step verification flow and trusted device management. - [JWTs](https://docs.iot.telia.lt/developers/auth/jwts.md): Understand JSON Web Token (JWT) structure, decode and inspect tokens, and handle token expiration in API requests. - [Conventions](https://docs.iot.telia.lt/developers/api-guidelines/conventions.md): Understand RESTful API conventions including HTTP methods, authentication with JWTs, URL structure, headers, and response codes. - [Rate limits](https://docs.iot.telia.lt/developers/api-guidelines/rate-limits.md): Learn about API rate limits including the 2,000 calls per 5 minutes per IP limit, 10 million monthly calls per account, and specific endpoint limits. - [Collections and pagination](https://docs.iot.telia.lt/developers/api-guidelines/collections-pagination.md): Learn how to implement paging, filtering, and sorting for large datasets in API collection GET requests with query parameters and response headers. - [Concatenated SMS](https://docs.iot.telia.lt/developers/api-guidelines/concatenated-sms.md): Send SMS messages longer than 160 characters using concatenation with User Data Headers (UDH) via the API. - [User management](https://docs.iot.telia.lt/developers/api-guidelines/user-management.md): Manage users in a multi-tenancy system with organization-based user administration, roles, and permissions via the API. - [Error handling](https://docs.iot.telia.lt/developers/api-guidelines/errors.md): Handle API errors with comprehensive JSON error codes, tokens, and messages including validation, authentication, and resource-specific errors. - [Register SIMs](https://docs.iot.telia.lt/developers/connectivity/register-sims.md): Register SIM cards in bulk using Batch Identification Codes (BIC) via the API to prepare them for device assignment. - [Create endpoints](https://docs.iot.telia.lt/developers/connectivity/create-endpoints.md): Create virtual device representations (endpoints) with service profiles, tariff profiles, and SIM assignments via the API. - [Manage devices](https://docs.iot.telia.lt/developers/connectivity/manage-devices.md): Manage device connectivity by updating SIM and endpoint statuses including activation, suspension, enabling, and disabling via the API. - [Configure DNS settings](https://docs.iot.telia.lt/developers/connectivity/configure-dns.md): Configure custom DNS settings with primary and secondary nameservers for device networking using the API. - [Factory test mode](https://docs.iot.telia.lt/developers/connectivity/factory-test-mode.md): Test SIM cards with Factory Test Mode (FTM) providing 100 KB data and 10 SMS free of charge before production deployment. - [SMS operations](https://docs.iot.telia.lt/developers/connectivity/sms-operations.md): Send, receive, list, and cancel SMS messages for IoT devices using the endpoint API operations. - [API callbacks](https://docs.iot.telia.lt/developers/callbacks/api.md): Configure API callback objects for Data Streamer integration with callback URLs and organizational settings. - [SMS callbacks](https://docs.iot.telia.lt/developers/callbacks/sms.md): Receive mobile-originated SMS via API callbacks with JWT authentication and delivery receipts for A2P and P2P messaging. - [Toggle endpoint state (JavaScript)](https://docs.iot.telia.lt/developers/examples/endpoint-toggle-js.md): JavaScript code example to toggle endpoint status between enabled and disabled states using the API. - [Get device status (JavaScript)](https://docs.iot.telia.lt/developers/examples/device-status-js.md): JavaScript code example to retrieve the status of all connected devices in your account using the API. - [curl](https://docs.iot.telia.lt/developers/examples/curl.md): Common API operations demonstrated using curl including user authentication and JWT token validation examples. - [Data Streamer](https://docs.iot.telia.lt/developers/reference/data-streamer.md): Stream event and usage data with detailed object schemas for data types, traffic types, tariffs, operators, and volume tracking. - [Events](https://docs.iot.telia.lt/developers/reference/events.md): Event API reference with comprehensive event types, severities, sources, and detailed object schemas for network and API events. - [SIM](https://docs.iot.telia.lt/developers/reference/sim.md): SIM API reference with JSON schemas for SIM card management including status, activation, ICCID, IMSI, and endpoint assignments. - [Endpoint](https://docs.iot.telia.lt/developers/reference/endpoint.md): Endpoint API reference with JSON object schemas for device management including status, service profiles, tariff profiles, and SIM data. - [Service profile](https://docs.iot.telia.lt/developers/reference/service-profile.md): Service profile API reference for configuring endpoint services, traffic limits, network settings, and callback configurations. - [Organization](https://docs.iot.telia.lt/developers/reference/organization.md): Organization API reference for managing hierarchical organization structures, contacts, and multi-tenancy relationships. - [Tariff plan](https://docs.iot.telia.lt/developers/reference/tariff-plan.md): Tariff plan API reference for managing pricing plans with payment intervals, minimum runtime, and contract terms. - [Tariff profile](https://docs.iot.telia.lt/developers/reference/tariff-profile.md): Tariff profile API reference for assigning tariffs to endpoints with rates for data, SMS, and SIM lifecycle operations. ## API Docs - Enterprise > Authentication [Retrieve authentication token](https://docs.iot.telia.lt/developers/api/authentication/authenticate.md) - Enterprise > Authentication [Create an MFA key](https://docs.iot.telia.lt/developers/api/authentication/post-mfa.md) - Enterprise > Authentication [Activate MFA key](https://docs.iot.telia.lt/developers/api/authentication/user-mfa-by-id-patch.md) - Enterprise > Authentication [Delete an MFA key](https://docs.iot.telia.lt/developers/api/authentication/user-mfa-by-user-id-and-key-id-delete.md) - Enterprise > Authentication [List MFA key statuses](https://docs.iot.telia.lt/developers/api/authentication/user-mfa-status-get.md) - Enterprise > Authentication [List MFA key types](https://docs.iot.telia.lt/developers/api/authentication/user-mfa-type-get.md) - Enterprise > Authentication [List trusted devices](https://docs.iot.telia.lt/developers/api/authentication/user-mfa-trusted-device-by-user-id-get.md) - Enterprise > Authentication [Delete a trusted device](https://docs.iot.telia.lt/developers/api/authentication/user-mfa-trusted-device-by-user-id-and-device-id-delete.md) - Enterprise > Password Management and Activation [Invite a user](https://docs.iot.telia.lt/developers/api/password-management-and-activation/user-v-2-invitation.md) - Enterprise > Password Management and Activation [Activate user](https://docs.iot.telia.lt/developers/api/password-management-and-activation/user-activation-post.md) - Enterprise > Password Management and Activation [Resend user activation email](https://docs.iot.telia.lt/developers/api/password-management-and-activation/user-activation-resend-post.md) - Enterprise > Password Management and Activation [Change password](https://docs.iot.telia.lt/developers/api/password-management-and-activation/user-password-patch.md) - Enterprise > Endpoint [List endpoints](https://docs.iot.telia.lt/developers/api/endpoint/get-endpoints.md) - Enterprise > Endpoint [Create an endpoint](https://docs.iot.telia.lt/developers/api/endpoint/create-endpoint.md) - Enterprise > Endpoint [Bulk create endpoints](https://docs.iot.telia.lt/developers/api/endpoint/bulk-create-endpoint.md) - Enterprise > Endpoint [Bulk delete endpoints](https://docs.iot.telia.lt/developers/api/endpoint/bulk-delete-endpoint.md) - Enterprise > Endpoint [Bulk update endpoints](https://docs.iot.telia.lt/developers/api/endpoint/bulk-update-endpoint.md) - Enterprise > Endpoint [List endpoint statuses](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-status-get.md) - Enterprise > Endpoint [Endpoint details](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-by-id-get.md) - Enterprise > Endpoint [Delete an endpoint](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-by-id-delete.md) - Enterprise > Endpoint [Update an endpoint](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-by-id-patch.md) - Enterprise > Endpoint [Endpoint connectivity status](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-connectivity-by-id-get.md) - Enterprise > Endpoint [Reset endpoint connectivity](https://docs.iot.telia.lt/developers/api/endpoint/update-endpoint-connectivity-by-id.md) - Enterprise > Endpoint [List endpoint events](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-events-by-id.md) - Enterprise > Endpoint [Endpoint usage and cost statistics](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-stats-by-id-get.md) - Enterprise > Endpoint [Retrieve daily usage statistics for an endpoint](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-stats-daily-by-id-get.md) - Enterprise > Endpoint [List sent and received SMS](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-sms-by-id-get.md) - Enterprise > Endpoint [Send SMS to an endpoint](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-sms-by-id-post.md) - Enterprise > Endpoint [SMS details](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-sms-by-endpoint-id-and-sms-id-get.md) - Enterprise > Endpoint [Cancel SMS](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-sms-by-endpoint-id-and-sms-id-delete.md) - Enterprise > Endpoint [Retrieve connectivity information for an endpoint](https://docs.iot.telia.lt/developers/api/endpoint/get-connectivity-info-by-endpoint-id.md) - Enterprise > Endpoint [List active traffic limit extensions](https://docs.iot.telia.lt/developers/api/endpoint/get-endpoint-traffic-limit-extensions.md) - Enterprise > Endpoint [Create traffic limit extension](https://docs.iot.telia.lt/developers/api/endpoint/create-endpoint-traffic-limit-extension.md) - Enterprise > Endpoint [Delete all traffic limit extensions for an endpoint](https://docs.iot.telia.lt/developers/api/endpoint/delete-endpoint-traffic-limit-extensions.md) - Enterprise > Endpoint [List operator blacklist for endpoint](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-operator-blacklist-by-endpoint-id-get.md) - Enterprise > Endpoint [Add an operator to the blacklist](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-operator-blacklist-by-ep-id-and-operator-id-put.md) - Enterprise > Endpoint [Remove an operator from the blacklist](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-operator-blacklist-by-ep-id-and-operator-id-delete.md) - Enterprise > Endpoint [Retrieve data quota details](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-quota-data-by-endpoint-id-get.md) - Enterprise > Endpoint [Set data quota](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-quota-data-by-endpoint-id-post.md) - Enterprise > Endpoint [Remove data quota](https://docs.iot.telia.lt/developers/api/endpoint/delete-endpoint-data-quota-by-id.md) - Enterprise > Endpoint [Show SMS quota details](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-quota-sms-by-endpoint-id-get.md) - Enterprise > Endpoint [Set SMS quota](https://docs.iot.telia.lt/developers/api/endpoint/endpoint-quota-sms-by-endpoint-id-post.md) - Enterprise > Endpoint [Remove SMS quota](https://docs.iot.telia.lt/developers/api/endpoint/delete-endpoint-sms-quota-by-id.md) - Enterprise > Organization [Organization usage and costs statistics per day for the current month](https://docs.iot.telia.lt/developers/api/organization/statistics-daily-by-id-get.md) - Enterprise > Organization [My organization details](https://docs.iot.telia.lt/developers/api/organization/my-organisation-get.md) - Enterprise > Organization [List organization statuses](https://docs.iot.telia.lt/developers/api/organization/organisation-status-get.md) - Enterprise > Organization [Monthly organization traffic and cost statistics](https://docs.iot.telia.lt/developers/api/organization/get-organisation-monthly-stats.md) - Enterprise > Organization [Daily organization traffic and cost statistics](https://docs.iot.telia.lt/developers/api/organization/get-organisation-daily-stats.md) - Enterprise > Organization [Hourly organization traffic statistics](https://docs.iot.telia.lt/developers/api/organization/get-organisation-hourly-stats.md) - Enterprise > Organization [Update assigned tariff](https://docs.iot.telia.lt/developers/api/organization/update-organisation-tariff.md) - Enterprise > Organization [Assign a ratezone inclusive volume to an organization](https://docs.iot.telia.lt/developers/api/organization/assign-ratezone-inclusive-volume.md) - Enterprise > Organization [Get list of active organization inclusive volumes](https://docs.iot.telia.lt/developers/api/organization/get-active-organisation-inclusive-volume.md) - Enterprise > Sim [List SIMs](https://docs.iot.telia.lt/developers/api/sim/sim-per-page-sort-by-q-and-page-get.md) - Enterprise > Sim [List SIM statuses](https://docs.iot.telia.lt/developers/api/sim/sim-status-get.md) - Enterprise > Sim [SIM details](https://docs.iot.telia.lt/developers/api/sim/sim-by-id-get.md) - Enterprise > Sim [Update a SIM](https://docs.iot.telia.lt/developers/api/sim/sim-by-id-patch.md) - Enterprise > Sim [SIM usage and cost statistics](https://docs.iot.telia.lt/developers/api/sim/sim-stats-by-id-get.md) - Enterprise > Sim [Daily SIM usage statistics](https://docs.iot.telia.lt/developers/api/sim/sim-statistics-daily-by-id-get.md) - Enterprise > Sim [List SIM events](https://docs.iot.telia.lt/developers/api/sim/sim-event-page-per-page-sort-by-sim-id-and-q-get.md) - Enterprise > Sim [Validate SIM batch by BIC](https://docs.iot.telia.lt/developers/api/sim/validate-sim-batch-by-bic.md) - Enterprise > Sim [Register a given batch by BIC](https://docs.iot.telia.lt/developers/api/sim/register-sim-batch-by-bic.md) - Enterprise > Sim [Migrate SIMs between Workspaces](https://docs.iot.telia.lt/developers/api/sim/sim-migration-workspace.md) - Enterprise > Events [List events](https://docs.iot.telia.lt/developers/api/events/get-events.md) - Enterprise > Events [List event types](https://docs.iot.telia.lt/developers/api/events/event-type-get.md) - Enterprise > Lookups [List country codes](https://docs.iot.telia.lt/developers/api/lookups/country-get.md) - Enterprise > Lookups [List currencies](https://docs.iot.telia.lt/developers/api/lookups/currency-get.md) - Enterprise > Lookups [List data blocksizes](https://docs.iot.telia.lt/developers/api/lookups/data-blocksize-get.md) - Enterprise > Lookups [List data throttles](https://docs.iot.telia.lt/developers/api/lookups/data-throttle-get.md) - Enterprise > Lookups [List breakout regions](https://docs.iot.telia.lt/developers/api/lookups/breakout-region-get.md) - Enterprise > Lookups [List ESME interface types](https://docs.iot.telia.lt/developers/api/lookups/esme-interface-type-get.md) - Enterprise > Lookups [List RAT types](https://docs.iot.telia.lt/developers/api/lookups/rat-type.md) - Enterprise > Lookups [Get list of service levels](https://docs.iot.telia.lt/developers/api/lookups/list-service-levels.md) - Enterprise > Operator [List operators](https://docs.iot.telia.lt/developers/api/operator/operator-get.md) - Enterprise > Application Tokens [List application tokens](https://docs.iot.telia.lt/developers/api/application-tokens/application-token-get.md) - Enterprise > Application Tokens [Create application token](https://docs.iot.telia.lt/developers/api/application-tokens/application-token-post.md) - Enterprise > Application Tokens [Update application token](https://docs.iot.telia.lt/developers/api/application-tokens/application-token-by-id-patch.md) - Enterprise > Tariff Profiles [List tariff profiles](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-get.md) - Enterprise > Tariff Profiles [Create tariff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-post.md) - Enterprise > Tariff Profiles [Tariff profile details](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-by-id-get.md) - Enterprise > Tariff Profiles [Delete tariff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-by-id-delete.md) - Enterprise > Tariff Profiles [Update tariff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-by-id-patch.md) - Enterprise > Tariff Profiles [Assign ratezone to tarriff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-ratezone-selection-by-tp-id-and-rz-id-put.md) - Enterprise > Tariff Profiles [Delete ratezone from tariff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-ratezone-selection-by-tp-id-and-rz-id-delete.md) - Enterprise > Tariff Profiles [Get the operator blocklist for a specific tariff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-operator-block-list-operator-get.md) - Enterprise > Tariff Profiles [Get operator blocklist for a specific tariff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-operator-block-operator-by-id-get.md) - Enterprise > Tariff Profiles [Block the operator completely for a given tariff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-operator-block-operator-by-id-put.md) - Enterprise > Tariff Profiles [Remove an operator from the blocklist](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-operator-block-operator-by-id-delete.md) - Enterprise > Tariff Profiles [Block specific RAT types](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-operator-block-operator-by-id-rat-type-post.md) - Enterprise > Tariff Profiles [Unblock a specific RAT type](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-operator-block-operator-by-id-rat-type-by-id-delete.md) - Enterprise > Tariff Profiles [List tariff profile coverage](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-coverage-by-tp-id-get.md) - Enterprise > Tariff Profiles [Assign inclusive volume to tarriff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-inclusive-volume-assignment.md) - Enterprise > Tariff Profiles [Unassign inclusive volume from tariff profile](https://docs.iot.telia.lt/developers/api/tariff-profiles/tariff-profile-inclusive-volume-remove-assignment.md) - Enterprise > Service Profiles [List service profiles](https://docs.iot.telia.lt/developers/api/service-profiles/service-profile-get.md) - Enterprise > Service Profiles [Create service profile](https://docs.iot.telia.lt/developers/api/service-profiles/service-profile-post.md) - Enterprise > Service Profiles [Retrieve a service profile](https://docs.iot.telia.lt/developers/api/service-profiles/service-profile-by-profile-id-get.md) - Enterprise > Service Profiles [Delete a service profile](https://docs.iot.telia.lt/developers/api/service-profiles/service-profile-by-profile-id-delete.md) - Enterprise > Service Profiles [Update service profile](https://docs.iot.telia.lt/developers/api/service-profiles/service-profile-by-profile-id-patch.md) - Enterprise > Service Profiles [Remove all quotas of assigned endpoints](https://docs.iot.telia.lt/developers/api/service-profiles/delete-quota-by-service-profile-id.md) - Enterprise > Service Profiles [Add a service to a service profile](https://docs.iot.telia.lt/developers/api/service-profiles/service-profile-service-by-profile-and-service-put.md) - Enterprise > Service Profiles [Remove a service from a service profile](https://docs.iot.telia.lt/developers/api/service-profiles/service-profile-service-by-profile-and-service-delete.md) - Enterprise > Service Profiles [Add SMS limit to service profile](https://docs.iot.telia.lt/developers/api/service-profiles/add-traffic-limit.md) - Enterprise > Service Profiles [Remove SMS limit from a service profile](https://docs.iot.telia.lt/developers/api/service-profiles/remove-traffic-limit.md) - Enterprise > Service Profiles [List data limits of service profile](https://docs.iot.telia.lt/developers/api/service-profiles/list-service-profile-traffic-limits.md) - Enterprise > Service Profiles [Add data limit to service profile](https://docs.iot.telia.lt/developers/api/service-profiles/add-service-profile-traffic-limit.md) - Enterprise > Service Profiles [Delete all data limits of a service profile](https://docs.iot.telia.lt/developers/api/service-profiles/remove-service-profile-traffic-limits.md) - Enterprise > Service Profiles [Remove data limit from a service profile](https://docs.iot.telia.lt/developers/api/service-profiles/delete-service-profile-traffic-limit.md) - Enterprise > Service Lookups and Configuration [List services](https://docs.iot.telia.lt/developers/api/service-lookups-and-configuration/service-get.md) - Enterprise > Service Lookups and Configuration [Get service SMS limit](https://docs.iot.telia.lt/developers/api/service-lookups-and-configuration/service-traffic-limit-by-id-get.md) - Enterprise > Service Lookups and Configuration [List traffic limits](https://docs.iot.telia.lt/developers/api/service-lookups-and-configuration/traffic-limit-get.md) - Enterprise > Service Lookups and Configuration [List DNS configs](https://docs.iot.telia.lt/developers/api/service-lookups-and-configuration/dns-get.md) - Enterprise > Service Lookups and Configuration [Create DNS config](https://docs.iot.telia.lt/developers/api/service-lookups-and-configuration/dns-post.md) - Enterprise > Service Lookups and Configuration [Delete DNS config](https://docs.iot.telia.lt/developers/api/service-lookups-and-configuration/dns-by-id-delete.md) - Enterprise > User Management [List user accounts](https://docs.iot.telia.lt/developers/api/user-management/user-per-page-sort-by-q-and-page-get.md) - Enterprise > User Management [Create user](https://docs.iot.telia.lt/developers/api/user-management/user-per-page-sort-by-q-and-page-post.md) - Enterprise > User Management [List user statuses](https://docs.iot.telia.lt/developers/api/user-management/user-status-get.md) - Enterprise > User Management [List user roles](https://docs.iot.telia.lt/developers/api/user-management/user-role-get.md) - Enterprise > User Management [Get user by ID or username](https://docs.iot.telia.lt/developers/api/user-management/user-by-id-get.md) - Enterprise > User Management [Delete user by ID](https://docs.iot.telia.lt/developers/api/user-management/user-by-id-delete.md) - Enterprise > User Management [Update user by ID](https://docs.iot.telia.lt/developers/api/user-management/user-by-id-patch.md) - Enterprise > User Management [List user events](https://docs.iot.telia.lt/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get.md) - Enterprise > User Management [List user role permissions](https://docs.iot.telia.lt/developers/api/user-management/user-role-permission-by-id-get.md) - Enterprise > User Management [Assign role to user](https://docs.iot.telia.lt/developers/api/user-management/user-role-by-id-and-role-id-put.md) - Enterprise > User Management [Delete user role](https://docs.iot.telia.lt/developers/api/user-management/user-role-by-id-and-role-id-delete.md) - Enterprise > IP Address Spaces [List IP address spaces](https://docs.iot.telia.lt/developers/api/ip-address-spaces/ip-address-space-get.md) - Enterprise > IP Address Spaces [Create an IP address space](https://docs.iot.telia.lt/developers/api/ip-address-spaces/ip-address-space-post.md) - Enterprise > IP Address Spaces [Get random address spaces](https://docs.iot.telia.lt/developers/api/ip-address-spaces/ip-address-space-available-by-ip-address-version-get.md) - Enterprise > IP Address Spaces [Assign an IP address space to an organization](https://docs.iot.telia.lt/developers/api/ip-address-spaces/ip-address-space-by-id-put.md) - Enterprise > IP Address Spaces [Release an IP address space from an organization](https://docs.iot.telia.lt/developers/api/ip-address-spaces/ip-address-space-by-id-delete.md) - Enterprise > Integrations [List data stream configurations of your organization](https://docs.iot.telia.lt/developers/api/integrations/list-data-streamer-v-2-s.md) - Enterprise > Integrations [Create data stream](https://docs.iot.telia.lt/developers/api/integrations/create-data-streamer.md) - Enterprise > Integrations [Get data stream statuses](https://docs.iot.telia.lt/developers/api/integrations/get-data-streamer-statuses.md) - Enterprise > Integrations [Get data stream types](https://docs.iot.telia.lt/developers/api/integrations/get-data-streamer-data-stream-type.md) - Enterprise > Integrations [Get data stream filter fields](https://docs.iot.telia.lt/developers/api/integrations/get-data-streamer-enum-filter-field-type.md) - Enterprise > Integrations [Get details on existing data stream](https://docs.iot.telia.lt/developers/api/integrations/get-data-streamer-by-id-v-2.md) - Enterprise > Integrations [Delete existing data stream](https://docs.iot.telia.lt/developers/api/integrations/delete-data-streamer-v-2.md) - Enterprise > Integrations [Modify existing data stream](https://docs.iot.telia.lt/developers/api/integrations/patch-v-2-data-stream.md) - Enterprise > Integrations [Restart existing data stream](https://docs.iot.telia.lt/developers/api/integrations/data-streamer-v-2-by-id-restart.md) - Enterprise > Integrations [Retrieve list of API callback URLs](https://docs.iot.telia.lt/developers/api/integrations/get-api-callback-ur-ls.md) - Enterprise > Integrations [Create a callback URL](https://docs.iot.telia.lt/developers/api/integrations/create-callback-url.md) - Enterprise > Integrations [Get a callback URL by ID](https://docs.iot.telia.lt/developers/api/integrations/get-callback-ur-lby-id.md) - Enterprise > Integrations [Delete a callback URL](https://docs.iot.telia.lt/developers/api/integrations/delete-callback-url.md) - Enterprise > Integrations [List API callback secrets](https://docs.iot.telia.lt/developers/api/integrations/get-api-callback-secret.md) - Enterprise > Integrations [Create a callback secret](https://docs.iot.telia.lt/developers/api/integrations/create-callback-secret.md) - Enterprise > Integrations [Get a callback secret by ID](https://docs.iot.telia.lt/developers/api/integrations/get-callback-secretby-id.md) - Enterprise > Integrations [Delete a callback secret](https://docs.iot.telia.lt/developers/api/integrations/delete-callback-secret.md) - Enterprise > Cloud Connect [List all Cloud Connect attachments of an organization](https://docs.iot.telia.lt/developers/api/cloud-connect/get-cloud-connect-attachments.md) - Enterprise > Cloud Connect [List Cloud Connect breakout types](https://docs.iot.telia.lt/developers/api/cloud-connect/get-cloud-connect-breakout-types.md) - Enterprise > Cloud Connect [View details of a Cloud Connect attachment](https://docs.iot.telia.lt/developers/api/cloud-connect/get-cloud-connect-attachment-by-id.md) - Enterprise > Cloud Connect [Delete a specific Cloud Connect attachment](https://docs.iot.telia.lt/developers/api/cloud-connect/delete-cloud-connect-attachment.md) - Enterprise > Cloud Connect [Retry creation of an expired TGW breakout](https://docs.iot.telia.lt/developers/api/cloud-connect/retry-cloud-connect-attachment.md) - Enterprise > Cloud Connect [Create a Cloud Connect attachment via Transit Gateway](https://docs.iot.telia.lt/developers/api/cloud-connect/create-cloud-connect-attachment-tgw.md) - Enterprise > Cloud Connect [Create a Cloud Connect attachment via IPSec VPN](https://docs.iot.telia.lt/developers/api/cloud-connect/create-cloud-connect-attachment-vpn.md) - Enterprise > Cloud Connect [List Cloud Connect prices](https://docs.iot.telia.lt/developers/api/cloud-connect/list-cloud-connect-custom-prices.md) - Enterprise > Cloud Connect [Get list of available Cloud Connect regions by breakout type](https://docs.iot.telia.lt/developers/api/cloud-connect/get-cloud-connect-available-regions-by-breakout-type.md) - Enterprise > Tariff Plans [List organization tariff plans](https://docs.iot.telia.lt/developers/api/tariff-plans/organisation-tariff-plan-by-org-id-get.md) - Enterprise > Tariff Plans [Retrieve your organization's active tariff plan](https://docs.iot.telia.lt/developers/api/tariff-plans/get-active-tariff-plan.md) - Enterprise > Tariff Plans [Get the active tariff plan for the given organization](https://docs.iot.telia.lt/developers/api/tariff-plans/get-organisation-active-tariff-plan.md) - Enterprise > Workspaces [Switch to an assigned Workspace](https://docs.iot.telia.lt/developers/api/workspaces/authenticate-workspace.md) - Enterprise > Workspaces [Accept user invitation](https://docs.iot.telia.lt/developers/api/workspaces/accept-user-invitation.md) - Enterprise > Workspaces [Assign a role to a Workspace user](https://docs.iot.telia.lt/developers/api/workspaces/assign-user-role-by-id.md) - Enterprise > Workspaces [Remove a role from a Workspace user](https://docs.iot.telia.lt/developers/api/workspaces/remove-user-role-by-id.md) - Enterprise > Workspaces [Update a user's default Workspace](https://docs.iot.telia.lt/developers/api/workspaces/update-default-workspace.md) - Enterprise > Workspaces [List assigned Workspaces](https://docs.iot.telia.lt/developers/api/workspaces/get-assigned-workspaces.md) - Enterprise > Workspaces [Unassign a Workspace](https://docs.iot.telia.lt/developers/api/workspaces/unassign-workspaces.md) - Enterprise > Workspaces [Update user status in a Workspace](https://docs.iot.telia.lt/developers/api/workspaces/update-workspace-user-status.md) - Enterprise > Workspaces [Retrieve Workspace daily stats](https://docs.iot.telia.lt/developers/api/workspaces/get-workspace-daily-stats.md) - Enterprise > Tag Management [Returns the list of available tag colors](https://docs.iot.telia.lt/developers/api/tag-management/list-tag-colors.md) - Enterprise > Tag Management [List tags](https://docs.iot.telia.lt/developers/api/tag-management/list-tags.md) - Enterprise > Tag Management [Create a tag](https://docs.iot.telia.lt/developers/api/tag-management/create-tag.md) - Enterprise > Tag Management [Delete a tag](https://docs.iot.telia.lt/developers/api/tag-management/delete-tag.md) - Enterprise > Tag Management [Update a tag](https://docs.iot.telia.lt/developers/api/tag-management/update-tag.md) - Enterprise > Tag Management [List endpoint tags](https://docs.iot.telia.lt/developers/api/tag-management/list-endpoint-tags.md) - Enterprise > Tag Management [Assign a tag to an endpoint](https://docs.iot.telia.lt/developers/api/tag-management/assign-tag-to-endpoint.md) - Enterprise > Tag Management [Unassign a tag from an endpoint](https://docs.iot.telia.lt/developers/api/tag-management/unassign-endpoint-tag.md) - Enterprise > Tag Management [Bulk assign tags](https://docs.iot.telia.lt/developers/api/tag-management/assign-tag-to-endpoints-in-bulk.md) - Enterprise > Tag Management [Bulk unassign tags](https://docs.iot.telia.lt/developers/api/tag-management/unassign-tags-from-endpoints-in-bulk.md) - Enterprise > Tag Management [Bulk delete tags](https://docs.iot.telia.lt/developers/api/tag-management/delete-tags-in-bulk.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://docs.iot.telia.lt/developers/openapi.json) - [OpenAPI YAML](https://docs.iot.telia.lt/developers/openapi.yaml) > **Note:** This page contains both a page directory (above) and the landing page content (below). The page directory is generated for agent use and does not appear on the landing page. > For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.iot.telia.lt/developers/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.iot.telia.lt/_mcp/server. > Make your first API call in minutes using the interactive API explorer and learn how to authenticate with the Telia API. To use the Telia API, you must authenticate with an **authentication token**. Telia uses JSON Web Tokens (JWTs) as the authentication token. **Base URL:** `https://iot.telia.lt` ## Make your first API call Get started in minutes using the interactive API explorer. ### Get an application token 1. Log in to the [Telia Portal](https://iot.telia.lt) 2. Navigate to **Integrations** > **Application tokens** 3. Click **Add token**, generate and copy your token, and store it securely ### Authenticate Click **Try it** to open the API explorer. Paste your application token and send the request to receive your `auth_token`. ### Request POST [https://iot.telia.lt/api/v1/authenticate](https://iot.telia.lt/api/v1/authenticate) **`Application Token Authentication`** ```curl Application Token Authentication curl -X POST https://iot.telia.lt/api/v1/authenticate \ -H "Content-Type: application/json" \ -d '{ "application_token": "5cCI6IkpXVCJ9.." }' ``` **`Application Token Authentication`** ```python Application Token Authentication import requests url = "https://iot.telia.lt/api/v1/authenticate" payload = { "application_token": "5cCI6IkpXVCJ9.." } headers = {"Content-Type": "application/json"} response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` **`Application Token Authentication`** ```javascript Application Token Authentication const url = 'https://iot.telia.lt/api/v1/authenticate'; const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"application_token":"5cCI6IkpXVCJ9.."}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` **`Application Token Authentication`** ```go Application Token Authentication package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://iot.telia.lt/api/v1/authenticate" payload := strings.NewReader("{\n \"application_token\": \"5cCI6IkpXVCJ9..\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` **`Application Token Authentication`** ```ruby Application Token Authentication require 'uri' require 'net/http' url = URI("https://iot.telia.lt/api/v1/authenticate") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = 'application/json' request.body = "{\n \"application_token\": \"5cCI6IkpXVCJ9..\"\n}" response = http.request(request) puts response.read_body ``` **`Application Token Authentication`** ```java Application Token Authentication import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://iot.telia.lt/api/v1/authenticate") .header("Content-Type", "application/json") .body("{\n \"application_token\": \"5cCI6IkpXVCJ9..\"\n}") .asString(); ``` **`Application Token Authentication`** ```php Application Token Authentication request('POST', 'https://iot.telia.lt/api/v1/authenticate', [ 'body' => '{ "application_token": "5cCI6IkpXVCJ9.." }', 'headers' => [ 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` **`Application Token Authentication`** ```csharp Application Token Authentication using RestSharp; var client = new RestClient("https://iot.telia.lt/api/v1/authenticate"); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"application_token\": \"5cCI6IkpXVCJ9..\"\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` **`Application Token Authentication`** ```swift Application Token Authentication import Foundation let headers = ["Content-Type": "application/json"] let parameters = ["application_token": "5cCI6IkpXVCJ9.."] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://iot.telia.lt/api/v1/authenticate")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` > **Note** > > Copy the `auth_token` to paste into the **Authorization** header of the next call. ### Make an authenticated request Use the `auth_token` from Step 2 to make authenticated requests. Click **Try it** to retrieve your endpoints: ### Request GET [https://iot.telia.lt/api/v1/endpoint](https://iot.telia.lt/api/v1/endpoint) **`Default - List All Endpoints`** ```curl Default - List All Endpoints curl https://iot.telia.lt/api/v1/endpoint \ -H "Authorization: Bearer " ``` **`Default - List All Endpoints`** ```python Default - List All Endpoints import requests url = "https://iot.telia.lt/api/v1/endpoint" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` **`Default - List All Endpoints`** ```javascript Default - List All Endpoints const url = 'https://iot.telia.lt/api/v1/endpoint'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` **`Default - List All Endpoints`** ```go Default - List All Endpoints package main import ( "fmt" "net/http" "io" ) func main() { url := "https://iot.telia.lt/api/v1/endpoint" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` **`Default - List All Endpoints`** ```ruby Default - List All Endpoints require 'uri' require 'net/http' url = URI("https://iot.telia.lt/api/v1/endpoint") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` **`Default - List All Endpoints`** ```java Default - List All Endpoints import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://iot.telia.lt/api/v1/endpoint") .header("Authorization", "Bearer ") .asString(); ``` **`Default - List All Endpoints`** ```php Default - List All Endpoints request('GET', 'https://iot.telia.lt/api/v1/endpoint', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` **`Default - List All Endpoints`** ```csharp Default - List All Endpoints using RestSharp; var client = new RestClient("https://iot.telia.lt/api/v1/endpoint"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` **`Default - List All Endpoints`** ```swift Default - List All Endpoints import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://iot.telia.lt/api/v1/endpoint")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` > **Info** > > The `/api/v1/authenticate` endpoint has a rate limit of 100 requests per IP in a 5-minute window. > Store your `auth_token` and reuse it instead of authenticating on every request. > For more information, see [Rate limits](/developers/api-guidelines/rate-limits). ## Choose your authentication method > **Tip** > > Always use [application tokens](/developers/auth/application-tokens) to authenticate with the Telia API when possible. > Any APIs that currently require user credentials are being updated to support application tokens. #### [Application tokens](/developers/auth/application-tokens) Recommended for most integrations. \ Secure M2M authentication without exposing user credentials. Supports IP restrictions and configurable expiration. #### [User credentials](/developers/auth/user-credentials) Required for cross-Workspace operations. \ Use for Workspace switching and SIM transfers between Workspaces. Requires handling MFA if enabled. ## Learn more #### [JWTs](/developers/auth/jwts) Understand how JSON Web Tokens authenticate API requests via the `Authorization` header. #### [Multi-factor authentication](/developers/auth/multi-factor-authentication) Handle MFA when authenticating with user credentials.