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

# Confirm a setup request

> Confirm a setup request to complete the setup lifecycle. The setup request must be in RequiresPaymentMethod or RequiresAction status. This will validate the payment method and tokenize it. The setup request status updates based on the result.



## OpenAPI

````yaml https://api.withacclaim.com/openapi.yaml post /setup_requests/{setup_request_id}/confirm
openapi: 3.1.0
info:
  title: Acclaim API
  version: 1.0.0
  description: >
    Payments infrastructure built for the insurance industry. This specification
    describes

    the core resources and operations for treasury accounts, payouts, funding,
    and more.


    Authentication uses a secret API key passed as a Bearer token. The API is
    JSON-only

    and available via HTTPS only.
servers:
  - url: https://api.withacclaim.com/v1
security:
  - bearerAuth: []
tags:
  - name: Treasury / Treasury Accounts
    description: Manage treasury accounts and balances.
  - name: Payees
    description: Manage recipients of payouts.
  - name: Payout Methods
    description: Manage payout methods (e.g. bank accounts) for a payee.
  - name: Payouts
    description: Create and track individual payouts.
  - name: Payout Batches
    description: Create and track groups of payouts.
  - name: Treasury / Funding
    description: Move funds between settlement accounts and treasury accounts.
  - name: Payment Requests
    description: Create and manage payment requests for collecting payments.
  - name: Setup Requests
    description: Create and manage setup requests for securely storing payment methods.
  - name: Refunds
    description: Create and manage refunds for payments.
  - name: Payers
    description: Create and manage payers for payment collection.
  - name: Payment Methods
    description: Manage payment methods (e.g. cards, bank accounts) for a payer.
paths:
  /setup_requests/{setup_request_id}/confirm:
    post:
      tags:
        - Setup Requests
      summary: Confirm a setup request
      description: >-
        Confirm a setup request to complete the setup lifecycle. The setup
        request must be in RequiresPaymentMethod or RequiresAction status. This
        will validate the payment method and tokenize it. The setup request
        status updates based on the result.
      parameters:
        - $ref: '#/components/parameters/SetupRequestId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSetupRequestRequest'
      responses:
        '201':
          description: Setup request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetupAttempt'
        '400':
          description: >-
            Bad request - setup request cannot be confirmed (e.g., missing payer
            or payment method, wrong status, or processing error).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Setup request not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  parameters:
    SetupRequestId:
      name: setup_request_id
      in: path
      required: true
      schema:
        type: string
      description: ID of the setup request.
  schemas:
    UpdateSetupRequestRequest:
      type: object
      properties:
        description:
          type: string
          nullable: true
          maxLength: 255
          example: Updated setup request for customer
          description: Optional description of the setup request
        payer_id:
          type: string
          nullable: true
          example: pyr_AbC123XyZ
          description: ID of the payer to associate with this setup request
        payment_method:
          type: object
          nullable: true
          description: Payment method data (e.g., payment_token, payment_method type)
          additionalProperties: true
        expires_at:
          type: string
          nullable: true
          format: date-time
          example: '2025-12-31T23:59:59Z'
          description: When the setup request expires (ISO 8601 date-time string)
        ip_address:
          type: string
          nullable: true
          example: 192.168.1.1
          description: IP address of the client making the request
        user_agent:
          type: string
          nullable: true
          example: Mozilla/5.0...
          description: User agent of the client making the request
        metadata:
          type: object
          nullable: true
          description: Optional metadata as key-value pairs
          additionalProperties: true
          example:
            custom_field: value
            source: api
      required: []
    SetupAttempt:
      type: object
      properties:
        id:
          type: string
          example: ta_AbC123XyZ
        setup_request_id:
          type: string
          nullable: true
          example: trq_Def456UvW
          description: ID of the setup request this attempt belongs to
        payer_id:
          type: string
          nullable: true
          example: pyr_GhI789JkL
          description: ID of the payer for this setup attempt
        status:
          type: string
          enum:
            - Pending
            - Processing
            - Succeeded
            - Failed
          example: Succeeded
          description: Current status of the setup attempt
        processor_transaction_id:
          type: string
          nullable: true
          example: txn_processor_123
          description: Processor transaction ID from the payment processor
        failure_code:
          type: string
          nullable: true
          example: validation_failed
          description: Error code if the setup attempt failed
        failure_message:
          type: string
          nullable: true
          example: Payment method validation failed
          description: Human-readable error message if the setup attempt failed
        created_at:
          type: string
          format: date-time
          example: '2025-10-08T18:20:31Z'
        updated_at:
          type: string
          format: date-time
          example: '2025-10-08T18:25:00Z'
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: invalid_request
            message:
              type: string
              example: 'Missing required field: amount'
            details:
              type: object
              additionalProperties: true
            request_id:
              type: string
              example: req_7lYt4o2x
  responses:
    ErrorResponse:
      description: Error payload.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key

````