arazzo: 1.0.1
info:
title: emnify Send SMS to Endpoint
summary: Authenticate, confirm the endpoint exists, then send a mobile-terminated SMS to it.
description: >-
A messaging flow for delivering a mobile-terminated SMS (MT-SMS) to a
connected device. The workflow authenticates, looks up the endpoint to
confirm it exists and capture its status, and then sends the SMS payload
with the supplied sender address. 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
workflows:
- workflowId: send-sms-to-endpoint
summary: Send a mobile-terminated SMS to a connected endpoint.
description: >-
Authenticates, confirms the target endpoint exists, and sends an SMS with
the supplied payload and sender address.
inputs:
type: object
required:
- applicationToken
- endpointId
- payload
properties:
applicationToken:
type: string
description: emnify application token used to obtain an auth_token.
endpointId:
type: string
description: The ID of the endpoint to send the SMS to.
payload:
type: string
description: The SMS message content (UTF-8, up to 160 characters).
sourceAddress:
type: string
description: The sender identifier shown on the device (MSISDN or short code).
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: Confirm the endpoint exists and capture its details before sending.
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:
endpointName: $response.body#/name
- stepId: sendSms
description: >-
Send the mobile-terminated SMS to the endpoint with the supplied payload
and sender address.
operationId: endpoint-sms-by-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:
payload: $inputs.payload
source_address: $inputs.sourceAddress
successCriteria:
- condition: $statusCode == 201
outputs:
endpointId: $inputs.endpointId
outputs:
endpointName: $steps.getEndpoint.outputs.endpointName
endpointId: $steps.sendSms.outputs.endpointId
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.