> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ringup.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Text the caller a pay link

> Text the caller a secure pay link: first-time callers, or a caller who wants a different card. Only after the caller clearly says yes to the text. Card entry happens on a Ringup-hosted page; the number never touches the call.



## OpenAPI

````yaml /api-reference/openapi.json post /send_link
openapi: 3.1.0
info:
  title: Ringup tools API
  description: >-
    Five REST tools for taking payment on a voice call. Identity rides trusted
    headers; the model never types a phone number or merchant id.
  version: 1.0.0
servers:
  - url: https://ringup.dev/api/tools
security: []
paths:
  /send_link:
    post:
      summary: Text the caller a pay link
      description: >-
        Text the caller a secure pay link: first-time callers, or a caller who
        wants a different card. Only after the caller clearly says yes to the
        text. Card entry happens on a Ringup-hosted page; the number never
        touches the call.
      operationId: send_link
      parameters:
        - $ref: '#/components/parameters/CallerNumber'
        - $ref: '#/components/parameters/Merchant'
        - $ref: '#/components/parameters/CallId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                amount_cents:
                  type: number
                  description: Order total in cents.
            example:
              amount_cents: 1900
      responses:
        '200':
          description: Confirmation the text was sent.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  sent_to:
                    type: string
                  link:
                    type: string
              example:
                ok: true
                sent_to: '+14155550142'
                link: https://ringup.dev/pay
components:
  parameters:
    CallerNumber:
      name: X-Caller-Number
      in: header
      required: true
      description: >-
        The caller's phone number in E.164, templated from the platform's
        caller-ID variable. Never model-generated.
      schema:
        type: string
        example: '+14155550142'
    Merchant:
      name: X-Ringup-Merchant
      in: header
      required: true
      description: >-
        The dialed number in E.164 (resolved to a merchant server-side) or an
        explicit merchant id.
      schema:
        type: string
        example: tonys-pizza
    CallId:
      name: X-Call-Id
      in: header
      required: false
      description: >-
        The platform's call id. Used for charge idempotency: retries within a
        call can never double-charge.
      schema:
        type: string

````