Apurata refunds API

Total and partial refunds

OpenAPI Specification

apurata-refunds-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Apurata aCuotaz POS REST config refunds API
  version: '1.0'
  x-apievangelist-generated: '2026-07-18'
  x-apievangelist-method: generated
  x-apievangelist-source: https://docs.apurata.com/POS/rest_api/
  description: Merchant-facing REST API for the aCuotaz "buy now, pay later" installment financing product operated by Apurata (Tecno Creditos S.A.C., Peru). Lets an e-commerce merchant fetch financing limits, create and manage installment orders, confirm/cancel orders, issue total or partial refunds, and render the aCuotaz checkout widgets. Transcribed faithfully from the public documentation at docs.apurata.com; not published by Apurata as an OpenAPI file.
  contact:
    name: Apurata aCuotaz Integrations
    url: https://docs.apurata.com/POS/intro/
  license:
    name: Proprietary
servers:
- url: https://apurata.com
  description: Production (test and live behavior are selected by the client_id / secret token issued)
tags:
- name: refunds
  description: Total and partial refunds
paths:
  /pos/order/{order_id}/total-refund:
    post:
      tags:
      - refunds
      operationId: totalRefundOrder
      summary: Total refund
      description: Fully refund an order. Requires an X-Unique-Token header to guarantee idempotency of the refund.
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
      - name: X-Unique-Token
        in: header
        required: true
        schema:
          type: string
        description: Unique idempotency token for the refund
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - author
              - reason
              properties:
                author:
                  type: string
                reason:
                  type: string
      responses:
        '200':
          description: Refund result
          content:
            application/json:
              schema:
                type: object
                properties:
                  refund_method:
                    type: string
                  tracking_id:
                    type: string
                  status:
                    type: string
                    enum:
                    - success
                    - already_refunded
        '400':
          description: Cancellation or disbursement constraint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Order not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - bearerAuth: []
  /pos/order/{order_id}/partial-refund:
    post:
      tags:
      - refunds
      operationId: partialRefundOrder
      summary: Partial refund
      description: Partially refund an order by amount. Requires an X-Unique-Token header for idempotency.
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
      - name: X-Unique-Token
        in: header
        required: true
        schema:
          type: string
        description: Unique idempotency token for the refund
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - amount
              - author
              - reason
              properties:
                amount:
                  type: number
                  format: float
                author:
                  type: string
                reason:
                  type: string
      responses:
        '200':
          description: Refund result
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - success
                    - decreased_debt
        '400':
          description: Amount constraint or disbursement failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Order not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - bearerAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Secret token issued by Apurata, sent as Authorization: Bearer <secret_token>. HTTPS is mandatory.'