Amazon Pinpoint · Arazzo Workflow

Amazon Pinpoint Send and Verify OTP

Version 1.0.0

Send a one-time passcode to a recipient then verify the code they supply.

1 workflow 1 source API 1 provider
View Spec View on GitHub CampaignsCommunicationsEmailMarketingMessagingPush NotificationsSMSVoiceCustomer EngagementSegmentationJourneysAnalyticsArazzoWorkflows

Provider

amazon-pinpoint

Workflows

send-and-verify-otp
Send an OTP and verify the code the recipient enters.
Sends an OTP to a destination identity using a reference id, then verifies a submitted code against that reference id and branches on validity.
2 steps inputs: applicationId, brandName, destinationIdentity, originationIdentity, otp, referenceId outputs: valid
1
sendOtp
Generate and send a one-time passcode over SMS to the destination identity, tagged with the supplied reference id.
2
verifyOtp
Verify the code the recipient entered against the reference id used when the OTP was sent, branching on whether the code is valid.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Pinpoint Send and Verify OTP
  summary: Send a one-time passcode to a recipient then verify the code they supply.
  description: >-
    Implements the two-leg one-time passcode flow: first an OTP is generated and
    delivered to a destination identity over SMS, then the code the recipient
    enters is verified against the same reference id. The verify step branches on
    whether the OTP was valid. Each step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: appsApi
  url: ../openapi/amazon-pinpoint-apps-api-openapi.yml
  type: openapi
workflows:
- workflowId: send-and-verify-otp
  summary: Send an OTP and verify the code the recipient enters.
  description: >-
    Sends an OTP to a destination identity using a reference id, then verifies a
    submitted code against that reference id and branches on validity.
  inputs:
    type: object
    required:
    - applicationId
    - brandName
    - destinationIdentity
    - originationIdentity
    - referenceId
    - otp
    properties:
      applicationId:
        type: string
        description: The application used to send and verify the OTP.
      brandName:
        type: string
        description: The brand name substituted into the OTP message body.
      destinationIdentity:
        type: string
        description: The phone number to send the OTP to, in E.164 format.
      originationIdentity:
        type: string
        description: The origination identity used to send the OTP from.
      referenceId:
        type: string
        description: The reference id that must match during verification.
      otp:
        type: string
        description: The code the recipient entered, to verify.
  steps:
  - stepId: sendOtp
    description: >-
      Generate and send a one-time passcode over SMS to the destination identity,
      tagged with the supplied reference id.
    operationId: SendOTPMessage
    parameters:
    - name: application-id
      in: path
      value: $inputs.applicationId
    requestBody:
      contentType: application/json
      payload:
        SendOTPMessageRequestParameters:
          Channel: SMS
          BrandName: $inputs.brandName
          DestinationIdentity: $inputs.destinationIdentity
          OriginationIdentity: $inputs.originationIdentity
          ReferenceId: $inputs.referenceId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      requestId: $response.body#/MessageResponse/RequestId
  - stepId: verifyOtp
    description: >-
      Verify the code the recipient entered against the reference id used when the
      OTP was sent, branching on whether the code is valid.
    operationId: VerifyOTPMessage
    parameters:
    - name: application-id
      in: path
      value: $inputs.applicationId
    requestBody:
      contentType: application/json
      payload:
        VerifyOTPMessageRequestParameters:
          DestinationIdentity: $inputs.destinationIdentity
          ReferenceId: $inputs.referenceId
          Otp: $inputs.otp
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      valid: $response.body#/VerificationResponse/Valid
    onSuccess:
    - name: otpValid
      type: end
      criteria:
      - context: $response.body
        condition: $.VerificationResponse.Valid == true
        type: jsonpath
  outputs:
    valid: $steps.verifyOtp.outputs.valid

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/amazon-pinpoint-send-and-verify-otp-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.