emnify · Arazzo Workflow

emnify Suspend SIM When Active

Version 1.0.0

Authenticate, read a SIM, and suspend it only when it is currently Activated.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub IoTInternet of ThingsCellular ConnectivityIoT SIMeSIMConsumer eSIMSGP.32M2MNTN-IoTSatelliteSuperNetworkArazzoWorkflows

Provider

emnify

Workflows

suspend-sim-when-active
Suspend an Activated SIM to stop accruing charges.
Authenticates, fetches the SIM by ID, and suspends it only when its current status is Activated.
3 steps inputs: applicationToken, simId outputs: iccid, suspendedSimId
1
authenticate
Exchange the application token for an auth_token used as a Bearer token.
2
getSim
Retrieve SIM details so its current status can be evaluated.
3
suspendSim
Update the SIM status to Suspended (id 2) to stop accruing charges.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: emnify Suspend SIM When Active
  summary: Authenticate, read a SIM, and suspend it only when it is currently Activated.
  description: >-
    A cost-control flow. emnify charges for activated SIMs, so this workflow
    authenticates, retrieves the SIM to inspect its current status, and branches:
    when the SIM is Activated (status id 1) it patches the status to Suspended
    (id 2); otherwise it ends without making a change. Every step spells out its
    request inline, including the Bearer Authorization header threaded from the
    authenticate step.
  version: 1.0.0
sourceDescriptions:
- name: subpackageAuthenticationApi
  url: ../openapi/emnify-subpackage-authentication-api-openapi.yml
  type: openapi
- name: subpackageSimApi
  url: ../openapi/emnify-subpackage-sim-api-openapi.yml
  type: openapi
workflows:
- workflowId: suspend-sim-when-active
  summary: Suspend an Activated SIM to stop accruing charges.
  description: >-
    Authenticates, fetches the SIM by ID, and suspends it only when its current
    status is Activated.
  inputs:
    type: object
    required:
    - applicationToken
    - simId
    properties:
      applicationToken:
        type: string
        description: emnify application token used to obtain an auth_token.
      simId:
        type: integer
        description: The numeric ID of the SIM to inspect and suspend.
  steps:
  - stepId: authenticate
    description: Exchange the application token for an auth_token used as a Bearer token.
    operationId: authenticate
    requestBody:
      contentType: application/json
      payload:
        application_token: $inputs.applicationToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      authToken: $response.body#/auth_token
  - stepId: getSim
    description: Retrieve SIM details so its current status can be evaluated.
    operationId: sim-by-id-get
    parameters:
    - name: sim_id
      in: path
      value: $inputs.simId
    - name: Authorization
      in: header
      value: Bearer $steps.authenticate.outputs.authToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      statusId: $response.body#/status/id
      iccid: $response.body#/iccid
    onSuccess:
    - name: simActivated
      type: goto
      stepId: suspendSim
      criteria:
      - context: $response.body
        condition: $.status.id == 1
        type: jsonpath
    - name: simNotActivated
      type: end
      criteria:
      - context: $response.body
        condition: $.status.id != 1
        type: jsonpath
  - stepId: suspendSim
    description: Update the SIM status to Suspended (id 2) to stop accruing charges.
    operationId: sim-by-id-patch
    parameters:
    - name: sim_id
      in: path
      value: $inputs.simId
    - name: Authorization
      in: header
      value: Bearer $steps.authenticate.outputs.authToken
    requestBody:
      contentType: application/json
      payload:
        status:
          id: 2
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      suspendedSimId: $inputs.simId
  outputs:
    iccid: $steps.getSim.outputs.iccid
    suspendedSimId: $steps.suspendSim.outputs.suspendedSimId

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/emnify-suspend-sim-when-active-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.