emnify · Arazzo Workflow

emnify Set Endpoint SMS Quota

Version 1.0.0

Authenticate, read the current SMS quota, then assign a new SMS quota to an endpoint.

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

Provider

emnify

Workflows

set-endpoint-sms-quota
Read the existing SMS quota and assign a new one to an endpoint.
Authenticates, reads the endpoint's current SMS quota, and sets a new SMS quota with the supplied volume, expiry, and threshold.
3 steps inputs: applicationToken, endpointId, expiryDate, thresholdPercentage, volume outputs: endpointId
1
authenticate
authenticate
Exchange the application token for an auth_token used as a Bearer token.
2
getCurrentSmsQuota
endpoint-quota-sms-by-endpoint-id-get
Read the endpoint's current SMS quota before assigning a new one.
3
setSmsQuota
endpoint-quota-sms-by-endpoint-id-post
Set a new SMS quota with ACTIVE status, the supplied volume, expiry, and threshold percentage, and Block on exhaustion (action id 1).

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: emnify Set Endpoint SMS Quota
  summary: Authenticate, read the current SMS quota, then assign a new SMS quota to an endpoint.
  description: >-
    An SMS-package flow. The workflow authenticates, reads the endpoint's
    current SMS quota, and then sets a new SMS quota with the supplied volume,
    expiry, threshold percentage, and block-on-exhaustion action. This is the
    pattern used to grant or refresh an endpoint's SMS allowance. Every step
    spells out its request inline, including the Bearer Authorization header
    threaded from the authenticate step.
  version: 1.0.0
sourceDescriptions:
- name: emnifyApi
  url: ../openapi/emnify-api-openapi.yml
  type: openapi
workflows:
- workflowId: set-endpoint-sms-quota
  summary: Read the existing SMS quota and assign a new one to an endpoint.
  description: >-
    Authenticates, reads the endpoint's current SMS quota, and sets a new SMS
    quota with the supplied volume, expiry, and threshold.
  inputs:
    type: object
    required:
    - applicationToken
    - endpointId
    - volume
    - expiryDate
    - thresholdPercentage
    properties:
      applicationToken:
        type: string
        description: emnify application token used to obtain an auth_token.
      endpointId:
        type: string
        description: The ID of the endpoint to set the SMS quota on.
      volume:
        type: number
        description: Number of SMS messages allowed on the quota.
      expiryDate:
        type: string
        description: Timestamp when the quota expires (ISO 8601 date-time).
      thresholdPercentage:
        type: number
        description: Remaining percentage at which a threshold-reached event is generated.
  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: getCurrentSmsQuota
    description: Read the endpoint's current SMS quota before assigning a new one.
    operationId: endpoint-quota-sms-by-endpoint-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:
      currentSmsQuota: $response.body
  - stepId: setSmsQuota
    description: >-
      Set a new SMS quota with ACTIVE status, the supplied volume, expiry, and
      threshold percentage, and Block on exhaustion (action id 1).
    operationId: endpoint-quota-sms-by-endpoint-id-post
    parameters:
    - name: endpoint_id
      in: path
      value: $inputs.endpointId
    - name: Authorization
      in: header
      value: Bearer $steps.authenticate.outputs.authToken
    requestBody:
      contentType: application/json
      payload:
        status:
          id: 1
        volume: $inputs.volume
        expiry_date: $inputs.expiryDate
        threshold_percentage: $inputs.thresholdPercentage
        action_on_exhaustion:
          id: 1
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      endpointId: $inputs.endpointId
  outputs:
    endpointId: $steps.setSmsQuota.outputs.endpointId

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-set-endpoint-sms-quota-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 email required.

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