KORE Wireless eSIM Profile Management API

API to manage eSIM Switch related activities for a given account Refer to the eSIM switch article on the KORE Help Center for additional information

Operations 9

GET /v1/accounts/{account-id}/esim-profile-switch-requests/{esim-profile-switch-request-id} Finds Switch Request By eSIM Profile Switch Request ID
GET /v1/accounts/{account-id}/esim-profile-switch-requests Lists All Switch Requests
POST /v1/accounts/{account-id}/esim-profile-switch-requests Create A Switch Request
POST /v1/accounts/{account-id}/esim-profile-switch-requests/retry Retry Switch Request
POST /v1/accounts/{account-id}/esim-profile-enable-requests Create An Enable Profile Request
POST /v1/accounts/{account-id}/esim-profile-download-requests Create A Download Profile Request
POST /v1/accounts/{account-id}/esim-profile-delete-requests Create A Delete Profile Request
POST /v1/accounts/{account-id}/esim-profile-switch-requests/cancel Cancel Switch Request
GET /v1/esim/profile-status Get eSIM profile status

Documentation

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kore-wireless-esim-profile-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kore-wireless-esim-profile-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Connectivity eSIM Profile Management API
  description: Connectivity APIs help users manage their connectivity through APIs.
  version: 1.0.0
servers:
- url: https://api.korewireless.com/connectivity
  description: Production
security:
- {}
- Auth: []
- api_key: []
tags:
- name: eSIM Profile Management
  description: API to manage eSIM Switch related activities for a given account <br> Refer to the <a href="https://korewireless.service-now.com/csm?sys_kb_id=ec87a82f976ee110d038301e6253afa3&id=kb_article_view&sysparm_rank=2&sysparm_tsqueryId=5a20dce247b7e59018007f7a516d4392" style="text-decoration:none" target="_blank">  eSIM switch</a> article on the KORE Help Center for additional information
paths:
  /v1/accounts/{account-id}/esim-profile-switch-requests/{esim-profile-switch-request-id}:
    get:
      tags:
      - eSIM Profile Management
      summary: Finds Switch Request By eSIM Profile Switch Request ID
      description: Get details of a specific switch request by eSIM Profile Switch Request ID
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  esim-profile-switch-request-id:
                    type: string
                    example: cmp-cpro-request-00000
                    description: Unique identifier of the switch request
                  activation-profile-id:
                    type: string
                    example: cmp-cpro-request-00000
                    description: Unique identifier of the activation profile
                  switch-request-type:
                    type: string
                    enum:
                    - SwitchProfile
                    - DownloadProfile
                    - EnableProfile
                    - DeleteProfile
                    description: The type of eSim operation requested
                  switch-request-date:
                    type: string
                    example: '2022-11-16T07:43:02.428Z'
                    description: Date of switch request creation
                  switch-request-status:
                    type: string
                    example: Completed
                    description: 'Current status of the switch request '
                  total-switch-processing:
                    type: integer
                    description: eSIM switches in progress
                  total-switch-failed:
                    type: integer
                    description: eSIMs that failed to switch
                  total-switch-completed:
                    type: integer
                    description: 'Switches completed '
                  total-switch-pending-network-connection:
                    type: integer
                    description: 'eSIMs in the request waiting for the device to come online '
                  total-switch-requested:
                    type: integer
                    description: eSIMs in the request
                  eids:
                    type: array
                    items:
                      type: object
                      properties:
                        eid:
                          type: string
                          example: '000000000000000000000000000'
                          description: Unique identifier of the eSIM
                        new-subscription-id:
                          type: string
                          example: cmp-k1-subscription-0000000000
                          description: Unique identifier of the subscription that has been allocated to the eSIM as part of switching
                        old-subscription-id:
                          type: string
                          example: cmp-k1-subscription-0000000000
                          description: Unique identifier of the subscription that has previously been active on the eSIM
                        switch-status:
                          type: string
                          example: Completed
                          description: Switch status of the eSIM
                        switch-error-message:
                          type: string
                          example: Error Message
                          description: Reason for switch failure of the eSIM
                $$ref: '#/components/schemas/200FindsSwitchRequestByeSIMProfileSwitchRequestID0'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error-message:
                    type: string
                    description: Reason for failure
                    example: error
                  status:
                    type: string
                    description: Status of the response
                    example: No records found / Invalid input
                $$ref: '#/components/schemas/400FindsSwitchRequestByeSIMProfileSwitchRequestID0'
        '401':
          description: Unauthorised User
          content:
            application/json:
              schema:
                required:
                - error
                - message
                type: object
                properties:
                  error:
                    type: integer
                    format: int32
                  message:
                    type: string
                $$ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
        '404':
          description: The Specified Resource Was Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  INFO:
                    type: string
                $$ref: '#/components/schemas/NotFound_Error'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
      parameters:
      - name: esim-profile-switch-request-id
        description: The unique identifier of the switch request
        in: path
        required: true
        schema:
          type: string
      - name: account-id
        description: The unique identifier of your account
        in: path
        required: true
        schema:
          type: string
      x-code-samples:
      - lang: cURL
        label: cURL
        source: 'curl --location --globoff ''{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests/<string>'' \

          --header ''Accept: application/json'''
      - lang: js
        label: NodeJs
        source: "var request = require('request');\nvar options = {\n   'method': 'GET',\n   'url': '{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests/<string>',\n   'headers': {\n      'Accept': 'application/json'\n   }\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n"
      - lang: java
        label: Java
        source: "OkHttpClient client = new OkHttpClient().newBuilder()\n   .build();\nMediaType mediaType = MediaType.parse(\"text/plain\");\nRequestBody body = RequestBody.create(mediaType, \"\");\nRequest request = new Request.Builder()\n   .url(\"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests/<string>\")\n   .method(\"GET\", body)\n   .addHeader(\"Accept\", \"application/json\")\n   .build();\nResponse response = client.newCall(request).execute();"
      - lang: cs
        label: C#
        source: "var options = new RestClientOptions(\"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests/<string>\")\n{\n   MaxTimeout = -1,\n};\nvar client = new RestClient(options);\nvar request = new RestRequest(\"\", Method.Get);\nrequest.AddHeader(\"Accept\", \"application/json\");\nRestResponse response = await client.ExecuteAsync(request);\nConsole.WriteLine(response.Content);"
      - lang: PHP
        label: Php
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n   CURLOPT_URL => '{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests/<string>',\n   CURLOPT_RETURNTRANSFER => true,\n   CURLOPT_ENCODING => '',\n   CURLOPT_MAXREDIRS => 10,\n   CURLOPT_TIMEOUT => 0,\n   CURLOPT_FOLLOWLOCATION => true,\n   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n   CURLOPT_CUSTOMREQUEST => 'GET',\n   CURLOPT_HTTPHEADER => array(\n   'Authorization: Bearer <YOUR BEARER TOKEN>',\n   'x-api-key: <YOUR API KEY>')\n   CURLOPT_HTTPHEADER => array(\n      'Accept: application/json'\n   ),\n));\n\n$response = curl_exec($curl);\n\ncurl_close($curl);\necho $response;\n"
      - lang: py
        label: Python
        source: "import requests\n\nurl = \"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests/<string>\"\n\npayload = {}\nheaders = {\n   'Accept': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
      security:
      - {}
      - Auth: []
      - api_key: []
  /v1/accounts/{account-id}/esim-profile-switch-requests:
    get:
      tags:
      - eSIM Profile Management
      summary: Lists All Switch Requests
      description: Get details of all switch requests by EID
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  total-pages:
                    type: integer
                    description: Total number of pages
                  page:
                    type: integer
                    description: Page number
                  total-records:
                    type: integer
                    description: Total number of records
                  records:
                    type: array
                    items:
                      type: object
                      properties:
                        switch-request-type:
                          type: string
                          enum:
                          - SwitchProfile
                          - DownloadProfile
                          - EnableProfile
                          - DeleteProfile
                          description: The type of eSim operation requested
                        switch-request-date:
                          type: string
                          example: '2022-11-16T07:43:02.428Z'
                          format: dateTime
                          description: Date of switch request creation
                        switch-request-status:
                          type: string
                          example: Pending
                          description: Current status of switch request
                        total-switch-processing:
                          type: integer
                          description: eSIM switches in progress
                        total-switch-failed:
                          type: integer
                          description: eSIMs that failed to switch
                        esim-profile-switch-request-id:
                          type: string
                          example: cmp-cpro-request-00000
                          description: Unique identifier of the switch request
                        total-switch-completed:
                          type: integer
                          example: '2022-11-17T13:12:39.469Z'
                          description: Switches completed
                        total-switch-pending-network-connection:
                          type: integer
                          description: eSIMs in the request waiting for the device to come online
                        total-switch-requested:
                          type: integer
                          description: eSIMs in this request
                        activation-profile-id:
                          type: string
                          example: cmp-prov-ap-000000
                          description: Unique identifier of the activation profile
                $$ref: '#/components/schemas/200ListsAllSwitchRequests0'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response
                    example: error
                  error-message:
                    type: string
                    description: Reason for request failure
                    example: No records found / Invalid input
                $$ref: '#/components/schemas/400ListsAllSwitchRequests0'
        '401':
          description: Unauthorised User
          content:
            application/json:
              schema:
                required:
                - error
                - message
                type: object
                properties:
                  error:
                    type: integer
                    format: int32
                  message:
                    type: string
                $$ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
        '404':
          description: The Specified Resource Was Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  INFO:
                    type: string
                $$ref: '#/components/schemas/NotFound_Error'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
      parameters:
      - name: eid
        description: The unique identifier of the eSIM
        in: query
        required: false
        schema:
          type: string
      - name: page
        description: Page number
        in: query
        required: false
        schema:
          type: number
      - name: take
        description: Number of records
        in: query
        required: false
        schema:
          type: number
      - name: account-id
        description: The unique identifier of your account
        in: path
        required: true
        schema:
          type: string
      x-code-samples:
      - lang: cURL
        label: cURL
        source: 'curl --location --globoff ''{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests?eid=<string>&page=<number>&take=<number>'' \

          --header ''Accept: application/json'''
      - lang: js
        label: NodeJs
        source: "var request = require('request');\nvar options = {\n   'method': 'GET',\n   'url': '{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests?eid=<string>&page=<number>&take=<number>',\n   'headers': {\n      'Accept': 'application/json'\n   }\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n"
      - lang: java
        label: Java
        source: "OkHttpClient client = new OkHttpClient().newBuilder()\n   .build();\nMediaType mediaType = MediaType.parse(\"text/plain\");\nRequestBody body = RequestBody.create(mediaType, \"\");\nRequest request = new Request.Builder()\n   .url(\"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests?eid=<string>&page=<number>&take=<number>\")\n   .method(\"GET\", body)\n   .addHeader(\"Accept\", \"application/json\")\n   .build();\nResponse response = client.newCall(request).execute();"
      - lang: cs
        label: C#
        source: "var options = new RestClientOptions(\"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests?eid=<string>&page=<number>&take=<number>\")\n{\n   MaxTimeout = -1,\n};\nvar client = new RestClient(options);\nvar request = new RestRequest(\"\", Method.Get);\nrequest.AddHeader(\"Accept\", \"application/json\");\nRestResponse response = await client.ExecuteAsync(request);\nConsole.WriteLine(response.Content);"
      - lang: PHP
        label: Php
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n   CURLOPT_URL => '{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests?eid=<string>&page=<number>&take=<number>',\n   CURLOPT_RETURNTRANSFER => true,\n   CURLOPT_ENCODING => '',\n   CURLOPT_MAXREDIRS => 10,\n   CURLOPT_TIMEOUT => 0,\n   CURLOPT_FOLLOWLOCATION => true,\n   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n   CURLOPT_CUSTOMREQUEST => 'GET',\n   CURLOPT_HTTPHEADER => array(\n   'Authorization: Bearer <YOUR BEARER TOKEN>',\n   'x-api-key: <YOUR API KEY>')\n   CURLOPT_HTTPHEADER => array(\n      'Accept: application/json'\n   ),\n));\n\n$response = curl_exec($curl);\n\ncurl_close($curl);\necho $response;\n"
      - lang: py
        label: Python
        source: "import requests\n\nurl = \"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests?eid=<string>&page=<number>&take=<number>\"\n\npayload = {}\nheaders = {\n   'Accept': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
      security:
      - {}
      - Auth: []
      - api_key: []
    post:
      tags:
      - eSIM Profile Management
      summary: Create A Switch Request
      description: Create a switch profile request for an account. Downloads a new profile to the eSIM, activates the new subscription, enables the new profile in the eSIM, and deactivates or suspends the old subscription, or (optionally) the old subscription remains active and is subject to MRC
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                activation-profile-id:
                  type: string
                  example: cmp-pp-ap-000000
                  description: Unique identifier of the activation profile
                exclude-deactivation:
                  type: boolean
                  example: false
                  description: This can be set as true to keep the old subscription active
                skip-session-check:
                  type: boolean
                  example: false
                  description: Used to skip the initial in-session check for an eSIM
                disable-autoretry:
                  type: boolean
                  example: false
                  description: Disables retry of RSP steps based on in-session event when set to true, when set to false the RSP step will be retried max 5 times
                suspend-old-subscription:
                  type: boolean
                  example: false
                  description: This can be set as true to suspend the old subscription if the suspend state is eligible
                sku:
                  type: string
                  description: The Stock Keeping Unit (SKU) number of a device type with an embedded SIM which is required for switching to VZW profile if IMEI is not provided
                  example: VZW00000000
                subscriptions:
                  type: array
                  items:
                    type: object
                    properties:
                      eid:
                        type: string
                        example: '0000000000000000000000000'
                        description: Unique identifier of the eSIM
                      imei:
                        type: string
                        example: '12121212121212'
                        description: IMEI is a 14 - 16 digit identifier of the device which is required for switching to VZW profile
                  required:
                  - eid
                  description: Devices to be switched
                service-type-info:
                  type: object
                  properties:
                    aus-ipnd-info:
                      type: object
                      properties:
                        address:
                          type: string
                          description: Address of the user
                          example: uniqueStr
                        title:
                          type: string
                          description: Title of the user (Mr/Mrs/Ms)
                          example: Mr/Mrs/Ms
                        first-name:
                          type: string
                          description: First Name of the user
                          example: uniqueStr
                        last-name:
                          type: string
                          description: Last Name of the user
                          example: uniqueStr
                      description: IPND information is mandatory for activating a KORE TELS2 subscription
                  description: Carrier specific information required for activating a subscription
              required:
              - activation-profile-id
              - subscriptions
              $$ref: '#/components/schemas/CreateASwitchRequest0'
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                    description: Status of request submission
                  data:
                    type: object
                    properties:
                      esim-profile-switch-request-id:
                        type: string
                        example: cmp-cpro-request-00000
                        description: Unique identifier of the request created
                      message:
                        type: string
                        example: Your request has been acknowledged
                        description: Acknowledgement message
                $$ref: '#/components/schemas/200CreateASwitchRequest0'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                    description: Status of request submission
                  error-message:
                    type: string
                    example: Invalid eIds / Imei
                    description: Reason for request failure
                  validation-error:
                    type: array
                    items:
                      type: object
                      properties:
                        eid:
                          type: string
                          example: '00000000000000000000000000000'
                          description: Unique identifier of the rejected eSIM
                        error-message:
                          type: string
                          example: Cannot be switched to the requested profile
                          description: Reason for the rejection of the EID
                $$ref: '#/components/schemas/400CreateASwitchRequest0'
        '401':
          description: Unauthorised User
          content:
            application/json:
              schema:
                required:
                - error
                - message
                type: object
                properties:
                  error:
                    type: integer
                    format: int32
                  message:
                    type: string
                $$ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
        '404':
          description: The Specified Resource Was Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  INFO:
                    type: string
                $$ref: '#/components/schemas/NotFound_Error'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
      parameters:
      - name: account-id
        description: The unique identifier of your account
        in: path
        required: true
        schema:
          type: string
      x-code-samples:
      - lang: cURL
        label: cURL
        source: "curl --location --globoff '{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests' \\\n--header 'Content-Type: application/json'\n--header 'Authorization: Bearer <YOUR BEARER TOKEN>' \n--header 'x-api-key: <YOUR API KEY>'\n--header 'Accept: application/json' \\\n--data '{\n  \"activation-profile-id\": \"<string>\",\n  \"subscriptions\": [\n    {\n      \"eid\": \"<string>\",\n      \"imei\": \"<string>\"\n    },\n    {\n      \"eid\": \"<string>\",\n      \"imei\": \"<string>\"\n    }\n  ],\n  \"exclude-deactivation\": \"<boolean>\",\n  \"skip-session-check\": \"<boolean>\",\n  \"disable-autoretry\": \"<boolean>\",\n  \"suspend-old-subscription\": \"<boolean>\",\n  \"sku\": \"<string>\",\n  \"service-type-info\": {\n    \"aus-ipnd-info\": {\n      \"address\": \"<string>\",\n      \"title\": \"<string>\",\n      \"first-name\": \"<string>\",\n      \"last-name\": \"<string>\"\n    }\n  }\n}'"
      - lang: js
        label: NodeJs
        source: "var request = require('request');\nvar options = {\n   'method': 'POST',\n   'url': '{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests',\n   'headers': {\n      'Content-Type': 'application/json',\n      'Accept': 'application/json'\n   },\n   body: JSON.stringify({\n      \"activation-profile-id\": \"<string>\",\n      \"subscriptions\": [\n         {\n            \"eid\": \"<string>\",\n            \"imei\": \"<string>\"\n         },\n         {\n            \"eid\": \"<string>\",\n            \"imei\": \"<string>\"\n         }\n      ],\n      \"exclude-deactivation\": \"<boolean>\",\n      \"skip-session-check\": \"<boolean>\",\n      \"disable-autoretry\": \"<boolean>\",\n      \"suspend-old-subscription\": \"<boolean>\",\n      \"sku\": \"<string>\",\n      \"service-type-info\": {\n         \"aus-ipnd-info\": {\n            \"address\": \"<string>\",\n            \"title\": \"<string>\",\n            \"first-name\": \"<string>\",\n            \"last-name\": \"<string>\"\n         }\n      }\n   })\n\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n"
      - lang: java
        label: Java
        source: "OkHttpClient client = new OkHttpClient().newBuilder()\n   .build();\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\n  \\\"activation-profile-id\\\": \\\"<string>\\\",\\n  \\\"subscriptions\\\": [\\n    {\\n      \\\"eid\\\": \\\"<string>\\\",\\n      \\\"imei\\\": \\\"<string>\\\"\\n    },\\n    {\\n      \\\"eid\\\": \\\"<string>\\\",\\n      \\\"imei\\\": \\\"<string>\\\"\\n    }\\n  ],\\n  \\\"exclude-deactivation\\\": \\\"<boolean>\\\",\\n  \\\"skip-session-check\\\": \\\"<boolean>\\\",\\n  \\\"disable-autoretry\\\": \\\"<boolean>\\\",\\n  \\\"suspend-old-subscription\\\": \\\"<boolean>\\\",\\n  \\\"sku\\\": \\\"<string>\\\",\\n  \\\"service-type-info\\\": {\\n    \\\"aus-ipnd-info\\\": {\\n      \\\"address\\\": \\\"<string>\\\",\\n      \\\"title\\\": \\\"<string>\\\",\\n      \\\"first-name\\\": \\\"<string>\\\",\\n      \\\"last-name\\\": \\\"<string>\\\"\\n    }\\n  }\\n}\");\nRequest request = new Request.Builder()\n   .url(\"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests\")\n   .method(\"POST\", body)\n   .addHeader(\"Authorization\", \"Bearer <YOUR BEARER TOKEN>\")\n   .addHeader(\"x-api-key\", \"<YOUR API KEY>\")\n   .addHeader(\"Content-Type\", \"application/json\")\n   .addHeader(\"Accept\", \"application/json\")\n   .build();\nResponse response = client.newCall(request).execute();"
      - lang: cs
        label: C#
        source: "var options = new RestClientOptions(\"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests\")\n{\n   MaxTimeout = -1,\n};\nvar client = new RestClient(options);\nvar request = new RestRequest(\"\", Method.Post);\nrequest.AddHeader(\"Content-Type\", \"application/json\");\nrequest.AddHeader(\"Accept\", \"application/json\");\nvar body = @\"{\" + \"\\n\" +\n@\"  \"\"activation-profile-id\"\": \"\"<string>\"\",\" + \"\\n\" +\n@\"  \"\"subscriptions\"\": [\" + \"\\n\" +\n@\"    {\" + \"\\n\" +\n@\"      \"\"eid\"\": \"\"<string>\"\",\" + \"\\n\" +\n@\"      \"\"imei\"\": \"\"<string>\"\"\" + \"\\n\" +\n@\"    },\" + \"\\n\" +\n@\"    {\" + \"\\n\" +\n@\"      \"\"eid\"\": \"\"<string>\"\",\" + \"\\n\" +\n@\"      \"\"imei\"\": \"\"<string>\"\"\" + \"\\n\" +\n@\"    }\" + \"\\n\" +\n@\"  ],\" + \"\\n\" +\n@\"  \"\"exclude-deactivation\"\": \"\"<boolean>\"\",\" + \"\\n\" +\n@\"  \"\"skip-session-check\"\": \"\"<boolean>\"\",\" + \"\\n\" +\n@\"  \"\"disable-autoretry\"\": \"\"<boolean>\"\",\" + \"\\n\" +\n@\"  \"\"suspend-old-subscription\"\": \"\"<boolean>\"\",\" + \"\\n\" +\n@\"  \"\"sku\"\": \"\"<string>\"\",\" + \"\\n\" +\n@\"  \"\"service-type-info\"\": {\" + \"\\n\" +\n@\"    \"\"aus-ipnd-info\"\": {\" + \"\\n\" +\n@\"      \"\"address\"\": \"\"<string>\"\",\" + \"\\n\" +\n@\"      \"\"title\"\": \"\"<string>\"\",\" + \"\\n\" +\n@\"      \"\"first-name\"\": \"\"<string>\"\",\" + \"\\n\" +\n@\"      \"\"last-name\"\": \"\"<string>\"\"\" + \"\\n\" +\n@\"    }\" + \"\\n\" +\n@\"  }\" + \"\\n\" +\n@\"}\";\nrequest.AddStringBody(body, DataFormat.Json);\nRestResponse response = await client.ExecuteAsync(request);\nConsole.WriteLine(response.Content);"
      - lang: PHP
        label: Php
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n   CURLOPT_URL => '{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests',\n   CURLOPT_RETURNTRANSFER => true,\n   CURLOPT_ENCODING => '',\n   CURLOPT_MAXREDIRS => 10,\n   CURLOPT_TIMEOUT => 0,\n   CURLOPT_FOLLOWLOCATION => true,\n   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n   CURLOPT_CUSTOMREQUEST => 'POST',\n   CURLOPT_HTTPHEADER => array(\n   'Content-Type: application/json',\n   'Authorization: Bearer <YOUR BEARER TOKEN>',\n   'x-api-key: <YOUR API KEY>'),\n   CURLOPT_POSTFIELDS =>'{\n  \"activation-profile-id\": \"<string>\",\n  \"subscriptions\": [\n    {\n      \"eid\": \"<string>\",\n      \"imei\": \"<string>\"\n    },\n    {\n      \"eid\": \"<string>\",\n      \"imei\": \"<string>\"\n    }\n  ],\n  \"exclude-deactivation\": \"<boolean>\",\n  \"skip-session-check\": \"<boolean>\",\n  \"disable-autoretry\": \"<boolean>\",\n  \"suspend-old-subscription\": \"<boolean>\",\n  \"sku\": \"<string>\",\n  \"service-type-info\": {\n    \"aus-ipnd-info\": {\n      \"address\": \"<string>\",\n      \"title\": \"<string>\",\n      \"first-name\": \"<string>\",\n      \"last-name\": \"<string>\"\n    }\n  }\n}',\n   CURLOPT_HTTPHEADER => array(\n      'Content-Type: application/json',\n      'Accept: application/json'\n   ),\n));\n\n$response = curl_exec($curl);\n\ncurl_close($curl);\necho $response;\n"
      - lang: py
        label: Python
        source: "import requests\nimport json\n\nurl = \"{{baseUrl}}/v1/accounts/{account-id}/esim-profile-switch-requests\"\n\npayload = json.dumps({\n   \"activation-profile-id\": \"<string>\",\n   

# --- truncated at 32 KB (123 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kore-wireless/refs/heads/main/openapi/kore-wireless-esim-profile-management-api-openapi.yml