Soracom · Arazzo Workflow

Soracom Register and Activate IoT SIM

Version 1.0.0

Register a physical IoT SIM to the operator, activate it, bind it to a SIM group, and confirm its state.

1 workflow 1 source API 1 provider
View Spec View on GitHub IoTCellularLPWANSIMLoRaWANSigfoxMVNOConnectivityEdgeJapanArazzoWorkflows

Provider

soracom

Workflows

register-and-activate-sim
Register, activate, and group a single IoT SIM by SIM ID.
Registers the SIM to the operator using its PUK/PASSCODE registration secret, activates it, sets its SIM group, and reads the resulting SIM resource to verify the active status and group binding.
4 steps inputs: groupId, registrationSecret, simId outputs: groupId, simId, status
1
registerSim
Register the IoT SIM to the operator account using its registration secret so it can be managed.
2
activateSim
Change the SIM status to active so it can establish data sessions.
3
setSimGroup
Bind the SIM to the supplied SIM group so it inherits the group's service configuration.
4
confirmSim
Read the SIM back to confirm the final active status and group binding.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Soracom Register and Activate IoT SIM
  summary: Register a physical IoT SIM to the operator, activate it, bind it to a SIM group, and confirm its state.
  description: >-
    The end-to-end onboarding flow for a Soracom Air for Cellular SIM. The
    workflow registers the SIM to the operator using its registration secret,
    flips the SIM to the active status so it can pass traffic, binds it to a SIM
    group so it inherits Air/Beam/Harvest configuration, and finally reads the
    SIM back to confirm the registered, active, grouped state. Every step spells
    out its request inline so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-2640.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-2640.20
      capability_name: SIM & eSIM Lifecycle Management
      spec: soracom-sim-api-openapi.yml
      confidence: 0.9
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: simApi
  url: ../openapi/soracom-sim-api-openapi.yml
  type: openapi
workflows:
- workflowId: register-and-activate-sim
  summary: Register, activate, and group a single IoT SIM by SIM ID.
  description: >-
    Registers the SIM to the operator using its PUK/PASSCODE registration
    secret, activates it, sets its SIM group, and reads the resulting SIM
    resource to verify the active status and group binding.
  inputs:
    type: object
    required:
    - simId
    - registrationSecret
    - groupId
    properties:
      simId:
        type: string
        description: The SIM ID of the target IoT SIM (e.g. 8981100000000000000).
      registrationSecret:
        type: string
        description: The PUK or PASSCODE printed on the SIM card, used to prove ownership at registration.
      groupId:
        type: string
        description: The SIM group ID to bind the SIM to after activation.
  steps:
  - stepId: registerSim
    description: >-
      Register the IoT SIM to the operator account using its registration
      secret so it can be managed.
    operationId: registerSim
    parameters:
    - name: sim_id
      in: path
      value: $inputs.simId
    requestBody:
      contentType: application/json
      payload:
        registrationSecret: $inputs.registrationSecret
        groupId: $inputs.groupId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      registeredSimId: $response.body#/simId
      statusAfterRegister: $response.body#/status
  - stepId: activateSim
    description: >-
      Change the SIM status to active so it can establish data sessions.
    operationId: activateSim
    parameters:
    - name: sim_id
      in: path
      value: $inputs.simId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      statusAfterActivate: $response.body#/status
  - stepId: setSimGroup
    description: >-
      Bind the SIM to the supplied SIM group so it inherits the group's
      service configuration.
    operationId: setSimGroup
    parameters:
    - name: sim_id
      in: path
      value: $inputs.simId
    requestBody:
      contentType: application/json
      payload:
        groupId: $inputs.groupId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      groupId: $response.body#/groupId
  - stepId: confirmSim
    description: >-
      Read the SIM back to confirm the final active status and group binding.
    operationId: getSim
    parameters:
    - name: sim_id
      in: path
      value: $inputs.simId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      finalStatus: $response.body#/status
      finalGroupId: $response.body#/groupId
      speedClass: $response.body#/speedClass
  outputs:
    simId: $steps.registerSim.outputs.registeredSimId
    status: $steps.confirmSim.outputs.finalStatus
    groupId: $steps.confirmSim.outputs.finalGroupId

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/soracom-register-and-activate-sim-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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