Soracom SIM Management API

Manage Soracom Air for Cellular SIMs (and Subscribers) — list, get, create Arc virtual SIMs, activate/deactivate/suspend/terminate, set group binding, set IMEI lock, view session events, manage SIM profiles for multi-IMSI eSIM, and read cell-tower location info.

Soracom SIM Management API is one of 18 APIs that Soracom publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko and 2 JSON Schema definitions.

Tagged areas include IoT, Cellular, SIM, and Subscriber. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, 1 Naftiko capability spec, and 2 JSON Schemas.

OpenAPI Specification

soracom-sim-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Soracom SIM Management API
  description: Manage Soracom Air for Cellular SIMs and Subscribers including session control, plan changes, group binding,
    and lifecycle operations.
  version: 20250903-043502
servers:
- description: Japan coverage production API endpoint
  url: https://api.soracom.io/v1
- description: Global coverage production API endpoint
  url: https://g.api.soracom.io/v1
paths:
  /sims:
    get:
      description: 'Returns a list of SIMs. If the total number of SIMs does not fit in one page, a URL for accessing the
        next page is returned in the `link` header of the response.

        '
      operationId: listSims
      parameters:
      - description: Maximum number of SIMs to retrieve. However, the number of SIMs returned may be less than the specified
          value.
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the
          next page.
        in: query
        name: last_evaluated_key
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Sim'
                type: array
          description: List of IoT SIMs.
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      summary: List SIMs
      tags:
      - Sim
      x-soracom-cli:
      - sims list
      x-soracom-cli-pagination:
        request:
          param: last_evaluated_key
        response:
          header: x-soracom-next-key
    post:
      description: Creates a new Soracom Arc virtual SIM/Subscriber. For details, please refer to [Creating Virtual SIMs](/en/docs/arc/configuration/).
      operationId: createSim
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSimRequest'
        description: Virtual SIM/Subscriber creation request.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sim'
          description: A virtual SIM/Subscriber has been created.
      security:
      - api_key: []
        api_token: []
      summary: Creates a new virtual SIM/Subscriber
      tags:
      - Sim
      x-soracom-cli:
      - sims create
  /sims/{sim_id}:
    get:
      description: Gets information about the IoT SIM.
      operationId: getSim
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sim'
          description: The IoT SIM's detailed information.
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      summary: Gets information about the IoT SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims get
  /sims/{sim_id}/activate:
    post:
      description: Changes status of specified SIM to "active".
      operationId: activateSim
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sim'
          description: The SIM's detailed information after the update.
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      summary: Activate SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims activate
  /sims/{sim_id}/credentials/arc:
    delete:
      deprecated: true
      description: '(DEPRECATED) Removes the credentials (public key) for Soracom Arc from the SIM.


        **Warning**: Do not use this API.

        '
      operationId: removeArcSimCredentials
      parameters:
      - description: SIM ID of the target SIM.
        in: path
        name: sim_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: The credentials for Arc have been removed.
      security:
      - api_key: []
        api_token: []
      summary: (DEPRECATED) Removes the credentials for Arc from a SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims remove-arc-credentials
    post:
      deprecated: true
      description: '(DEPRECATED) Attaches the credentials (public key) for Soracom Arc to the SIM.


        **Warning**: Please use the `renewArcSimCredentials` API instead.

        '
      operationId: attachArcSimCredentials
      parameters:
      - description: SIM ID of the target SIM.
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArcCredentialAttachRequest'
        description: Arc credential attach request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArcCredentialAttachResponse'
          description: Arc credential attach response
      security:
      - api_key: []
        api_token: []
      summary: (DEPRECATED) Attaches the credentials for Arc to a SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims attach-arc-credentials
    put:
      description: Attaches Arc credential to a SIM and re-initialize a session at once.
      operationId: renewArcSimCredentials
      parameters:
      - description: SIM ID of the target SIM.
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArcCredentialRenewRequest'
        description: Arc credential attach request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArcCredentialRenewResponse'
          description: Arc credential attach response
      security:
      - api_key: []
        api_token: []
      summary: Renew the credentials for Arc to a SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims renew-arc-credentials
  /sims/{sim_id}/data:
    get:
      description: 'Returns a list of data entries sent to Harvest Data from a SIM that match certain criteria. If the total
        number of data entries does not fit in one page, a URL for accessing the next page is returned in the `link` header
        of the response.

        '
      operationId: getDataFromSim
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          type: string
      - description: Start time for the data entries search range (UNIX time in milliseconds).
        in: query
        name: from
        required: false
        schema:
          type: integer
      - description: End time for the data entries search range (UNIX time in milliseconds).
        in: query
        name: to
        required: false
        schema:
          type: integer
      - description: Sort order of the data entries. Either descending (latest data entry first) or ascending (oldest data
          entry first).
        in: query
        name: sort
        required: false
        schema:
          default: desc
          enum:
          - desc
          - asc
          type: string
      - description: Maximum number of data entries to retrieve (value range is 1 to 1000). The default is `10`.
        in: query
        name: limit
        required: false
        schema:
          maximum: 1000
          minimum: 1
          type: integer
      - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the
          next page.
        in: query
        name: last_evaluated_key
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/DataEntry'
                type: array
          description: A list of data entries.
      security:
      - api_key: []
        api_token: []
      summary: Get data sent from a SIM to Harvest Data.
      tags:
      - Sim
      x-soracom-cli:
      - sims get-data
      x-soracom-cli-pagination:
        request:
          param: last_evaluated_key
        response:
          header: x-soracom-next-key
  /sims/{sim_id}/deactivate:
    post:
      description: Changes status of specified SIM to "inactive".
      operationId: deactivateSim
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sim'
          description: The SIM's detailed information after the update.
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      summary: Deactivate SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims deactivate
  /sims/{sim_id}/delete_session:
    post:
      description: 'Deletes and then reconnects the session for the specified SIM.


        **Warning**: If you attempt to delete the session for an offline IoT SIM, the following error message will be returned:


        ```

        Error: {"code":"SEM0016","message":"The specified subscriber is offline"}

        ```

        '
      operationId: deleteSimSession
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sim'
          description: The SIM's detailed information after the update.
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      summary: Delete and reconnect the Session
      tags:
      - Sim
      x-soracom-cli:
      - sims delete-session
  /sims/{sim_id}/disable_termination:
    post:
      description: Enables termination protection for the specified IoT SIM (disables termination).
      operationId: disableSimTermination
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sim'
          description: The SIM's detailed information after the update.
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      summary: Disables termination of the SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims disable-termination
  /sims/{sim_id}/downlink/http:
    post:
      description: 'Sends an HTTP request to a device using an IoT SIM and returns the HTTP response from the device in the
        API response body.

        '
      operationId: sendDownlinkHttp
      parameters:
      - description: SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      requestBody:
        content:
          application/json:
            example:
              method: GET
              path: /readyz?verbose
              port: 6443
              skipVerify: true
              ssl: false
            schema:
              $ref: '#/components/schemas/SimDownlinkHttpRequest'
        description: Configuration of the HTTP request to send to the device.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimDownlinkHttpResponse'
          description: 'The HTTP request to the device was successful. The HTTP status code, headers, and body returned by
            the device can be checked in the response body.

            '
        '404':
          description: The specified IoT SIM does not exist.
        '422':
          description: "- The HTTP request to the device failed for one of the following reasons:\n  - Could not establish\
            \ a network connection with the device.\n  - The device refused the HTTP connection.\n\n- The HTTP response from\
            \ the device was not received for one of the following reasons:\n  - The device did not return a response within\
            \ 10 seconds.\n  - The HTTP response (including URL, headers, and body) exceeded 5 MiB.\n"
      security:
      - api_key: []
        api_token: []
      summary: Send an HTTP request to a device using an IoT SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims downlink-http
  /sims/{sim_id}/downlink/ping:
    post:
      description: Sends ICMP ping requests to a SIM.
      operationId: sendDownlinkPing
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      requestBody:
        content:
          application/json:
            example:
              numberOfPingRequests: 5
              timeoutSeconds: 2
            schema:
              $ref: '#/components/schemas/DownlinkPingRequest'
        description: Options for ping requests
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownlinkPingResponse'
          description: Result of the ping
      security:
      - api_key: []
        api_token: []
      summary: Sends ping requests to a SIM.
      tags:
      - Sim
      x-soracom-cli:
      - sims downlink-ping
  /sims/{sim_id}/downlink/rtsp:
    post:
      description: 'Sends a command to a device using an IoT SIM and returns a response based on specified command and options
        in request.


        - An error occurs if the command does not complete within 10 seconds.

        '
      operationId: sendDownlinkRtsp
      parameters:
      - description: SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      requestBody:
        content:
          application/json:
            example:
              authentication:
                password: pass
                type: basic
                username: user
              command: snapshot
              port: 544
            schema:
              $ref: '#/components/schemas/SimDownlinkRtspRequest'
        description: Command for the RTSP request
        required: true
      responses:
        '200':
          content:
            image/jpeg:
              schema:
                $ref: '#/components/schemas/SimDownlinkRtspSnapshotImageResponse'
          description: 'Command executed successfully. Response body will differ based on command and options in request.

            '
        '400':
          description: 'Invalid request.

            '
        '403':
          description: 'Failed to execute command due to authentication error. Please check the authentication information
            for Soracom API and RTSP server.

            '
        '404':
          description: The specified IoT SIM does not exist.
        '422':
          description: 'Failed to execute command because the video stream received by Soracom API from the RTSP server is
            not H.264 encoded. Please verify that the video stream sent by your RTSP server is H.264 encoded.

            '
      security:
      - api_key: []
        api_token: []
      summary: Send a command to a RTSP stream to a device using an IoT SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims downlink-rtsp
  /sims/{sim_id}/downlink/ssh:
    post:
      description: 'Connects to a device using an IoT SIM via SSH, executes a specified command, and returns the standard
        output and standard error output in the API response body.

        '
      operationId: sendDownlinkSsh
      parameters:
      - description: 'SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).

          '
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      requestBody:
        content:
          application/json:
            examples:
              (1) Connect using public key authentication to list files.:
                description: 'Connects to the device using public key authentication and retrieves a list of files.


                  The private key should be specified as a string in the `key` field. Use `\n` to represent newline characters.

                  '
                value:
                  authentication:
                    key: '-----BEGIN OPENSSH PRIVATE KEY-----

                      b3B ... 1Fw=

                      -----END OPENSSH PRIVATE KEY-----'
                    type: publickey
                  command: ls -l
                  port: 22
                  username: username
              (2) Connect using password authentication to list files.:
                description: 'Connects to the device using password authentication and retrieves a list of files.

                  '
                value:
                  authentication:
                    password: secret_value
                    type: password
                  command: ls -l
                  port: 22
                  username: username
              (3) Connect using password authentication to retrieve system logs.:
                description: "Connects to the device using password authentication and retrieves system logs using the `journalctl`\
                  \ command.\n\n```json\n{\n  \"exitcode\":0,\n  \"stdout\":\"Feb 19 09:35:49 $HOST sshd[51829]: pam_env(sshd:session):\
                  \ deprecated reading of user environment enabled\\nFeb 19 09:35:50 $HOST sshd[51829]: pam_unix(sshd:session):\
                  \ session closed for user $USER\\nFeb 19 09:35:50 $HOST systemd-logind[480]: Session 620 logged out. Waiting\
                  \ for processes to exit.\\nFeb 19 09:35:50 $HOST systemd[1]: session-620.scope: Deactivated successfully.\\\
                  nFeb 19 09:35:50 $HOST systemd-logind[480]: Removed session 620.\\nFeb 19 09:36:32 $HOST sshd[51837]: Accepted\
                  \ password for $USER from 100.127.10.16 port 47281 ssh2\\nFeb 19 09:36:32 $HOST sshd[51837]: pam_unix(sshd:session):\
                  \ session opened for user $USER(uid=1000) by (uid=0)\\nFeb 19 09:36:32 $HOST systemd-logind[480]: New session\
                  \ 621 of user $USER.\\nFeb 19 09:36:32 $HOST systemd[1]: Started session-621.scope - Session 621 of User\
                  \ $USER.\\nFeb 19 09:36:32 $HOST sshd[51837]: pam_env(sshd:session): deprecated reading of user environment\
                  \ enabled\\n\",\n  \"stderr\":\"\"\n}\n```\n"
                value:
                  authentication:
                    password: secret_value
                    type: password
                  command: journalctl -n
                  port: 22
                  username: pi
            schema:
              $ref: '#/components/schemas/SimDownlinkSshRequest'
        description: Configuration of the SSH connection and the command to execute.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimDownlinkSshResponse'
          description: The command was executed successfully. The command's exit code, standard output, and standard error
            output can be checked in the response body.
        '422':
          description: "- The command execution failed for one of the following reasons:\n  - Could not establish a network\
            \ connection with the device.\n  - The device refused the SSH connection.\n\n- The response from the device was\
            \ not received for one of the following reasons:\n  - The device did not return a response within 10 seconds.\n\
            \  - The command output (including standard output and standard error output) exceeded 5 MiB.\n"
      security:
      - api_key: []
        api_token: []
      summary: Connect to a device using an IoT SIM via SSH and execute a specified command
      tags:
      - Sim
      x-soracom-cli:
      - sims downlink-ssh
  /sims/{sim_id}/downlink/tcp:
    post:
      description: 'Connects to a device using an IoT SIM via TCP, sends specified data, and returns data received from the
        device.


        - The maximum size of sent and received data is 5 MiB each.

        - If sending and receiving data is not completed within the time specified by `timeout`, an error will occur.

        '
      operationId: sendDownlinkTcp
      parameters:
      - description: 'SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).

          '
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      requestBody:
        content:
          application/json:
            example:
              connectionOptions:
                terminationPattern: T0sK
                terminationPatternEncoding: base64
                type: wait_for_pattern
              payload: SGVsbG8gV29ybGQ=
              payloadEncoding: base64
              port: 5000
              timeout: 5
            schema:
              $ref: '#/components/schemas/SimDownlinkTcpRequest'
        description: Options for TCP connection and data transmission/reception.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimDownlinkTcpResponse'
          description: Data transmission and response reception were successful. Check the response body for the response
            from the device.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICallErrorMessage'
          description: 'Invalid request.

            '
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICallErrorMessage'
          description: 'Authentication failed.

            '
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICallErrorMessage'
          description: The specified IoT SIM does not exist.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICallErrorMessage'
          description: Data transmission and reception failed.
      security:
      - api_key: []
        api_token: []
      summary: Connect to a device using an IoT SIM via TCP and send/receive data
      tags:
      - Sim
      x-soracom-cli:
      - sims downlink-tcp
  /sims/{sim_id}/downlink/udp:
    post:
      description: 'Sends specified data to a device using an IoT SIM via UDP.


        **Warning**: Unlike TCP, UDP communication lacks retransmission and sequencing mechanisms, which may lead to packet
        loss or out-of-order arrival.

        '
      operationId: sendDownlinkUdp
      parameters:
      - description: 'SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).

          '
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      requestBody:
        content:
          application/json:
            example:
              payload: SGVsbG8gV29ybGQ=
              payloadEncoding: base64
              port: 5000
            schema:
              $ref: '#/components/schemas/SimDownlinkUdpRequest'
        description: Options for UDP data transmission.
        required: true
      responses:
        '204':
          description: 'The data has been sent to the device.

            However, due to the nature of UDP, packet delivery is not guaranteed.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICallErrorMessage'
          description: 'Invalid request.

            '
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICallErrorMessage'
          description: 'Authentication failed.

            '
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICallErrorMessage'
          description: The specified IoT SIM does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Send data using IoT SIM via UDP
      tags:
      - Sim
      x-soracom-cli:
      - sims downlink-udp
  /sims/{sim_id}/enable_termination:
    post:
      description: Disables termination protection for the specified IoT SIM (enables termination).
      operationId: enableSimTermination
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          format: SimId
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sim'
          description: The SIM's detailed information after the update.
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      summary: Enables termination of the SIM.
      tags:
      - Sim
      x-soracom-cli:
      - sims enable-termination
  /sims/{sim_id}/events/sessions:
    get:
      description: 'Retrieves event history of session creation/modification/disconnection for the past 32 days for the specified
        SIM. If the total number of events does not fit in one page, a URL for accessing the next page is returned in the
        `link` header of the response.


        Check the current session using the [Sim:getSim API](#!/Sim/getSim). To check the current session with this API, check
        the value of `event` in the latest session history. Refer to [Subscriber Status](/en/docs/air/subscriber-status/)
        for the meaning of a session.

        '
      operationId: listSimSessionEvents
      parameters:
      - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims).
        in: path
        name: sim_id
        required: true
        schema:
          type: string
      - description: Start time (UNIX time in milliseconds) of the period to retrieve the session event history.
        in: query
        name: from
        required: false
        schema:
          type: integer
      - description: End time (UNIX time in milliseconds) of the period to retrieve the session event history.
        in: query
        name: to
        required: false
        schema:
          type: integer
      - description: Maximum number of event histories to retrieve. However, the number of event histories returned may be
          less than the specified value.
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the
          next page.
        in: query
        name: last_evaluated_key
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SessionEvent'
                type: array
          description: A list of session events.
      security:
      - api_key: []
        api_token: []
      summary: Retrieves session event history (session history)
      tags:
      - Sim
      x-soracom-cli:
      - sims session-events
      x-soracom-cli-pagination:
        request:
          param: last_evaluated_key
        response:
          header: x-soracom-next-key
  /sims/{sim_id}/packet_capture_sessions:
    get:
      description: Lists packet capture sessions associated with the SIM.
      operationId: listSimPacketCaptureSessions
      parameters:
      - description: SIM ID of the target SIM.
        in: path
        name: sim_id
        required: true
        schema:
          type: string
      - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the
          next page.
        in: query
        name: last_evaluated_key
        required: false
        schema:
          type: string
      - description: Max number of results in a response.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          format: int32
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/PacketCaptureSession'
                type: array
          description: List of packet capture sessions associated with the SIM
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      summary: Lists packet capture sessions associated with the SIM
      tags:
      - Sim
      x-soracom-cli:
      - sims list-packet-capture-sessions
      x-soracom-cli-pagination:
        request:
          param: last_evaluated_key
        response:
          header: x-soracom-next-key
    post:
      description: Creates a packet capture session associated with the SIM.
      operationId: createSimPacketCaptureSession
      parameters:
      - description: SIM ID of the target SIM.
        in: path
        name: sim_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PacketCaptureSessionRequest'
        description: A packet capture session request.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PacketCaptureSession'
          description: The packet capture session associated with the SIM
        '400':
          description: Failed to create a packet capture session for the specified SIM
        '404':
          description: No such SIM found.
      security:
      - api_key: []
        api_token: []
      s

# --- truncated at 32 KB (184 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/soracom/refs/heads/main/openapi/soracom-sim-api-openapi.yml