emnify · Arazzo Workflow

emnify Decommission Endpoint

Version 1.0.0

Authenticate, read the endpoint, suspend its SIM, then delete the endpoint.

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

Provider

emnify

Workflows

decommission-endpoint
Suspend an endpoint's SIM and delete the endpoint.
Authenticates, reads the endpoint to find its SIM, suspends the SIM to stop charges, and deletes the endpoint.
4 steps inputs: applicationToken, endpointId outputs: deletedEndpointId, suspendedSimId
1
authenticate
Exchange the application token for an auth_token used as a Bearer token.
2
getEndpoint
Read the endpoint to capture the assigned SIM ID before teardown.
3
suspendSim
Suspend the assigned SIM (status id 2) so it stops accruing charges.
4
deleteEndpoint
Delete the endpoint and all of its child entities.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: emnify Decommission Endpoint
  summary: Authenticate, read the endpoint, suspend its SIM, then delete the endpoint.
  description: >-
    A safe teardown flow for retiring a device. The workflow authenticates,
    reads the endpoint to capture its assigned SIM ID, suspends that SIM
    (status id 2) so it stops accruing charges, and then deletes the endpoint
    along with its child entities. 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: subpackageEndpointApi
  url: ../openapi/emnify-subpackage-endpoint-api-openapi.yml
  type: openapi
- name: subpackageSimApi
  url: ../openapi/emnify-subpackage-sim-api-openapi.yml
  type: openapi
workflows:
- workflowId: decommission-endpoint
  summary: Suspend an endpoint's SIM and delete the endpoint.
  description: >-
    Authenticates, reads the endpoint to find its SIM, suspends the SIM to stop
    charges, and deletes the endpoint.
  inputs:
    type: object
    required:
    - applicationToken
    - endpointId
    properties:
      applicationToken:
        type: string
        description: emnify application token used to obtain an auth_token.
      endpointId:
        type: string
        description: The ID of the endpoint to decommission.
  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: getEndpoint
    description: Read the endpoint to capture the assigned SIM ID before teardown.
    operationId: endpoint-by-id-get
    parameters:
    - name: endpoint_id
      in: path
      value: $inputs.endpointId
    - name: Authorization
      in: header
      value: Bearer $steps.authenticate.outputs.authToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      simId: $response.body#/sim/id
  - stepId: suspendSim
    description: Suspend the assigned SIM (status id 2) so it stops accruing charges.
    operationId: sim-by-id-patch
    parameters:
    - name: sim_id
      in: path
      value: $steps.getEndpoint.outputs.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: $steps.getEndpoint.outputs.simId
  - stepId: deleteEndpoint
    description: Delete the endpoint and all of its child entities.
    operationId: endpoint-by-id-delete
    parameters:
    - name: endpoint_id
      in: path
      value: $inputs.endpointId
    - name: Authorization
      in: header
      value: Bearer $steps.authenticate.outputs.authToken
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      deletedEndpointId: $inputs.endpointId
  outputs:
    suspendedSimId: $steps.suspendSim.outputs.suspendedSimId
    deletedEndpointId: $steps.deleteEndpoint.outputs.deletedEndpointId

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-decommission-endpoint-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.