Bounceexchange Text API

The Text API from Bounceexchange — 6 operation(s) for text.

Operations 6

POST /text/bulk/message/send POST /text/bulk/message/send #
POST /text/csv/subscribe POST /text/csv/subscribe #
POST /text/message/send POST /text/message/send #
GET /text/message/status GET /text/message/status #
POST /text/subscription/status POST /text/subscription/status #
POST /text/{textid} POST /text/subscribe #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/bounceexchange-text-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

bounceexchange-text-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bounceexchange Text API
  version: '2026-10-03'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-03: 11 operation(s) read from 18 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Bounceexchange has published no machine-readable contract that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 11
    documentation: 0
    pages-with-code: 17
    pages-read: 18
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-03'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://developer.wunderkind.co/reference
  - https://developer.wunderkind.co/reference/text-message-api
  - https://developer.wunderkind.co/reference/batch-id-lookup.md
  - https://developer.wunderkind.co/reference/secret-endpoint.md
  - https://developer.wunderkind.co/reference/text-message-api.md
  - https://developer.wunderkind.co/reference/bulk-text-message-api.md
  - https://developer.wunderkind.co/reference/text-message-optin-api.md
  - https://developer.wunderkind.co/reference/text-message-status-api.md
  - https://developer.wunderkind.co/reference/text-unsubscribe-users-api.md
  - https://developer.wunderkind.co/reference/text-subscription-status-api.md
  - https://developer.wunderkind.co/docs/cordial-integration-overview.md
  - https://developer.wunderkind.co/docs/signals-for-sfmc-journey-builder.md
  - https://developer.wunderkind.co/reference/bulk-text-message-api
  - https://developer.wunderkind.co/reference/text-message-status-api
  - https://developer.wunderkind.co/reference/text-subscription-status-api
  - https://developer.wunderkind.co/reference/text-unsubscribe-users-api
  - https://developer.wunderkind.co/reference/text-message-optin-api
  - https://developer.wunderkind.co/reference/batch-id-lookup
servers:
- url: https://api.wknd.ai
security:
- apiKey: []
tags:
- name: Text
paths:
  /text/bulk/message/send:
    post:
      operationId: post_text_bulk_message_send
      tags:
      - Text
      summary: POST /text/bulk/message/send
      x-source: https://developer.wunderkind.co/reference/bulk-text-message-api.md
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTextBulkMessageSendResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl --location 'https://api.wknd.ai/text/bulk/message/send'  --header 'X-Client-ID: ******16s1f59j10fc1z8vx4d8******'  --header 'X-Client-Secret: ************ejcixob33u5dbr4vix5octiqc0gjrtq3f506fueb************'  --header 'Content-Type: application/json'  --data-raw '{\n       \"messages\": [\n          {\n              \"phone\": \"+12017XXX891\",\n              \"email\": \"\",\n              \"text\": \"type yo"
  /text/csv/subscribe:
    post:
      operationId: post_text_csv_subscribe
      tags:
      - Text
      summary: POST /text/csv/subscribe
      x-source: https://developer.wunderkind.co/reference/text-message-optin-api.md
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTextCsvSubscribeResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X POST ''https://api.wknd.ai/text/csv/subscribe''  -H ''X-Client-ID: <your-client-key>''  -H ''X-Client-Secret: <your-client-secret>''  -F ''file=@test.csv''  -F ''send_purpose=test_optin''

          ```'
  /text/message/send:
    post:
      operationId: post_text_message_send
      tags:
      - Text
      summary: POST /text/message/send
      x-source: https://developer.wunderkind.co/reference
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostTextMessageSendRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTextMessageSendResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X 'POST'  'https://api.wknd.ai/text/message/send'  -H 'accept: application/json'  -H 'Content-Type: application/json'  -H 'X-Client-ID: ********s19bvx18vly70bk5********'  -H 'X-Client-Secret: ********c2a4b82f10f8a137b1b056c6f3f3909ddc062a6fb6b4826c********'  -d '{\n \"phone\": \"+19191234567\",\n \"email\": \"\",\n \"text\": \"Brand: test message\",\n \"mediaUrl\": \"https://www.example.com/testimg.png\",\n \"cli"
  /text/message/status:
    get:
      operationId: get_text_message_status
      tags:
      - Text
      summary: GET /text/message/status
      x-source: https://developer.wunderkind.co/reference/text-message-status-api.md
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTextMessageStatusResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X ''GET''  ''https://api.wknd.ai/text/message/status?

          messageId=f9eea82a-ce63-4dfa-ae8e-09b891f446cc''  -H ''accept: application/json''  -H ''Content-Type: application/json''  -H ''X-Client-ID: ********s19bvx18vly70bk5********''  -H ''X-Client-Secret: ********c2a4b82f10f8a137b1b056c6f3f3909ddc062a6fb6b4826c********''

          ```'
  /text/subscription/status:
    post:
      operationId: post_text_subscription_status
      tags:
      - Text
      summary: POST /text/subscription/status
      x-source: https://developer.wunderkind.co/reference/text-subscription-status-api.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostTextSubscriptionStatusRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTextSubscriptionStatusResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl\ncurl -X 'POST'  'https://api.wknd.ai/text/subscription/status'  -H 'accept: application/json'  -H 'Content-Type: application/json'  -H 'X-Client-ID: ********s19bvx18vly70bk5********'  -H 'X-Client-Secret: ********c2a4b82f10f8a137b1b056c6f3f3909ddc062a6fb6b4826c********'  -d '{\n    \"phone_numbers\": [\"+11234567890\", \"+19876543210\"]\n}'"
  /text/{textid}:
    post:
      operationId: post_text_textid
      tags:
      - Text
      summary: POST /text/subscribe
      x-source: https://developer.wunderkind.co/reference/text-message-optin-api.md
      parameters:
      - name: textid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostTextTextidRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTextTextidResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl\ncurl -X POST  'https://api.wknd.ai/text/subscribe'  -H 'Content-Type: application/json'  -H 'X-Client-ID: ********s19bvx18vly70bk5********'  -H 'X-Client-Secret: ********c2a4b82f10f8a137b1b056c6f3f3909ddc062a6fb6b4826c********'  -d '{\n  \"phone_numbers\": {\n    \"phone_numbers\": [\"+12017712013\", \"+12125551234\"]\n  },\n  \"sendPurpose\": \"test_optin\"\n}'\n```"
        collapsed_from: 2 example path(s) differing only at textId
components:
  schemas:
    GetTextMessageStatusResponse:
      type: object
      properties:
        status:
          type: string
    PostTextSubscriptionStatusResponse:
      type: object
      properties:
        phoneNumberStatuses:
          type: array
          items:
            type: object
            properties:
              phoneNumber:
                type: string
              subscriptionStatus:
                type: boolean
        invalidPhoneNumbers:
          type: array
          items: {}
    PostTextSubscriptionStatusRequest:
      type: object
      properties:
        phone_numbers:
          type: array
          items:
            type: string
    PostTextMessageSendResponse:
      type: object
      properties:
        messageId:
          type: string
    PostTextBulkMessageSendResponse:
      type: object
      properties:
        successSent:
          type: array
          items:
            type: object
            properties:
              status:
                type: string
              messageId:
                type: string
              phone:
                type: string
              email:
                type: string
        failedSent:
          type: array
          items:
            type: object
            properties:
              errorMessage:
                type: string
              phone:
                type: string
              email:
                type: string
    PostTextCsvSubscribeResponse:
      type: object
      properties:
        message:
          type: string
        invalidPhoneNumbers:
          type: array
          items: {}
        failedToProcessNumbers:
          type: array
          items: {}
    PostTextTextidResponse:
      type: object
      properties:
        message:
          type: string
        invalidPhoneNumbers:
          type: array
          items: {}
        failedToProcessNumbers:
          type: array
          items: {}
    PostTextMessageSendRequest:
      type: object
      properties:
        phone:
          type: string
        email:
          type: string
        text:
          type: string
        mediaUrl:
          type: string
        clickUrl:
          type: string
        callbackData:
          type: string
    PostTextTextidRequest:
      type: object
      properties:
        phone_numbers:
          type: object
          properties:
            phone_numbers:
              type: array
              items:
                type: string
        sendPurpose:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization