> ## Documentation Index
> Fetch the complete documentation index at: https://yn-c9bb3266.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Recover Declined Payments

> Triggers automated outreach (AI caller) to recover declined payments by contacting the customer to update their payment method or resolve the issue.

<Warning>
  **Beta Feature**. Smart Support (AI Caller) is currently in beta. Availability: Brazil and Mexico (Spanish and Portuguese). Contact your Yuno account manager for pricing and to enable this feature. Automated outbound calls require explicit customer consent under LGPD (Brazil) and LFPDPPP (Mexico) regulations.
</Warning>


## OpenAPI

````yaml POST /v1/smart-support/external/payments/recover
openapi: 3.1.0
info:
  title: Yuno Payments API
  description: >-
    Yuno payment orchestration platform — unified REST API for payments,
    checkout sessions, customers, payment methods, subscriptions, payouts,
    marketplace transfers, and banking connectivity across Latin America.
  version: 1.0.0
  contact:
    name: Yuno Support
    email: support@y.uno
    url: https://docs.y.uno
  license:
    name: Proprietary
    url: https://y.uno
servers:
  - url: https://api-sandbox.y.uno
    description: Sandbox
  - url: https://api.y.uno
    description: Production
security:
  - publicApiKey: []
    privateSecretKey: []
paths:
  /v1/smart-support/external/payments/recover:
    post:
      tags:
        - Smart Support
      summary: Recover declined payments
      description: >-
        Triggers automated outreach (AI caller) to recover declined payments by
        contacting the customer to update their payment method or resolve the
        issue.
      operationId: recoverDeclinedPayment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecoverPaymentRequest'
            example:
              payment_id: f47ac10b-58cc-4372-a567-0e02b2c3d479
              channel: PHONE
              language: pt-BR
      responses:
        '202':
          description: Recovery process initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoveryAttempt'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    RecoverPaymentRequest:
      type: object
      required:
        - payment_id
      properties:
        payment_id:
          type: string
          format: uuid
          description: The declined payment to recover
        channel:
          type: string
          enum:
            - PHONE
            - SMS
            - EMAIL
            - WHATSAPP
          description: Outreach channel
        language:
          type: string
          description: Language code (e.g., pt-BR, es-MX)
          example: pt-BR
    RecoveryAttempt:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - QUEUED
            - IN_PROGRESS
            - COMPLETED
            - FAILED
        channel:
          type: string
        created_at:
          type: string
          format: date-time
    Error:
      type: object
      description: >-
        Standard error envelope returned by every Yuno service for any 4xx or
        5xx response. Top level. `code` is a stable SCREAMING_SNAKE_CASE
        identifier. `messages` is always an array of strings, even when there is
        only one entry. There is no `error` wrapper, no singular `message`, no
        `type`, no `details`. See the Error handling guide for the full code
        catalog.
      required:
        - code
        - messages
      properties:
        code:
          type: string
          description: >-
            Stable, machine readable identifier. Branch on this in your client.
            Common values include `BAD_REQUEST`, `VALIDATION_ERROR`,
            `INVALID_REQUEST`, `UNAUTHORIZED`, `FORBIDDEN`, `NOT_FOUND`,
            `TOO_MANY_REQUESTS`, `INTERNAL_ERROR`, `BAD_GATEWAY`,
            `SERVICE_UNAVAILABLE`, plus business codes like
            `CUSTOMER_ID_DUPLICATED`, `RECIPIENT_NOT_FOUND`, `INVALID_STATE`,
            and the `PROVIDER_*` family for downstream provider errors.
          example: VALIDATION_ERROR
        messages:
          type: array
          description: >-
            Human readable details. Validation errors put one entry per failed
            field, formatted `"fieldName message"`.
          items:
            type: string
          example:
            - merchant_customer_id must not be blank
      example:
        code: VALIDATION_ERROR
        messages:
          - amount must be greater than 0
          - country must not be blank
  securitySchemes:
    publicApiKey:
      type: apiKey
      in: header
      name: public-api-key
      description: Your public API key from the Yuno Dashboard
    privateSecretKey:
      type: apiKey
      in: header
      name: private-secret-key
      description: Your private secret key (server-side only)

````