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

# Request a limit increase

> This endpoint creates a limit-increase request for a customer. Upload the supporting document first with POST /customers/{id}/documents and pass the returned documentId as supportingDocumentId.



## OpenAPI

````yaml /openapi/api-production.yaml post /customers/{id}/limit-requests
openapi: 3.1.0
info:
  version: 1.0.0
  title: Lumx API
  description: >-
    A cross-border banking API with instant settlements and unmatched liquidity,
    powered by stablecoins.
servers:
  - url: https://api.lumx.io
  - url: https://api-sandbox.lumx.io
security: []
paths:
  /customers/{id}/limit-requests:
    post:
      tags:
        - Customers
      summary: Request a limit increase
      description: >-
        This endpoint creates a limit-increase request for a customer. Upload
        the supporting document first with POST /customers/{id}/documents and
        pass the returned documentId as supportingDocumentId.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Customer's unique identifier.
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/json:
            examples:
              Default:
                $ref: '#/components/examples/LimitRequestCreateExample'
            schema:
              $ref: '#/components/schemas/LimitRequestCreateRequest'
      responses:
        '201':
          description: Resource successfully created.
          content:
            application/json:
              examples:
                Default:
                  $ref: '#/components/examples/LimitRequestResponseExample'
              schema:
                $ref: '#/components/schemas/LimitRequestResponse'
      security:
        - apiKey: []
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      schema:
        type: string
        format: uuid
      description: >-
        Optional UUID v4 idempotency key. If you resend the same key with a
        different request body, the API returns a 409 error. Cached responses
        include the header `X-Idempotency-Cached: true`. Keys expire after 24
        hours.
  examples:
    LimitRequestCreateExample:
      value:
        requested:
          single: '15000.00'
          daily: '60000.00'
          monthly: '120000.00'
        supportingDocumentId: 9d1e2f3a-4b5c-6d7e-8f90-1a2b3c4d5e6f
    LimitRequestResponseExample:
      value:
        id: b2e1a2d4-1234-4a3b-9c4d-5e6f7a8b9c0d
        customerId: 3c90c3cc-0d44-4b50-8888-8dd25736052a
        requested:
          single: '15000.00'
          daily: '60000.00'
          monthly: '120000.00'
        approved:
          single: null
          daily: null
          monthly: null
        supportingDocumentType: LIMIT_REQUEST_BANK_STATEMENT
        supportingDocumentId: 9d1e2f3a-4b5c-6d7e-8f90-1a2b3c4d5e6f
        status: IN_REVIEW
        reviewComment: null
        createdAt: '2024-01-15T10:00:00Z'
        updatedAt: '2024-01-15T10:00:00Z'
  schemas:
    LimitRequestCreateRequest:
      type: object
      required:
        - requested
        - supportingDocumentId
      properties:
        requested:
          type: object
          required:
            - single
            - daily
            - monthly
          properties:
            single:
              type: string
              description: >-
                Requested per-transaction limit as a numeric string. Must not
                exceed the daily limit. In sandbox, the cents of this value can
                trigger an instant simulated review outcome — see Sandbox magic
                numbers in the Transaction Limits guide.
              example: '15000.00'
            daily:
              type: string
              description: >-
                Requested daily limit as a numeric string. Must not exceed the
                monthly limit.
              example: '60000.00'
            monthly:
              type: string
              description: Requested monthly limit as a numeric string.
              example: '120000.00'
        supportingDocumentId:
          type: string
          format: uuid
          description: >-
            documentId returned by POST /customers/{id}/documents for the
            uploaded supporting document.
          example: 9d1e2f3a-4b5c-6d7e-8f90-1a2b3c4d5e6f
    LimitRequestResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Limit request's unique identifier.
          example: b2e1a2d4-1234-4a3b-9c4d-5e6f7a8b9c0d
        customerId:
          type: string
          description: Customer's unique identifier.
          format: uuid
          example: 3c90c3cc-0d44-4b50-8888-8dd25736052a
        requested:
          type: object
          description: Limits requested by the customer.
          properties:
            single:
              type: string
              nullable: true
              example: '15000.00'
            daily:
              type: string
              nullable: true
              example: '60000.00'
            monthly:
              type: string
              nullable: true
              example: '120000.00'
        approved:
          type: object
          description: Limits approved by compliance. Each value is null until reviewed.
          properties:
            single:
              type: string
              nullable: true
              example: null
            daily:
              type: string
              nullable: true
              example: null
            monthly:
              type: string
              nullable: true
              example: null
        supportingDocumentType:
          type: string
          nullable: true
          example: LIMIT_REQUEST_BANK_STATEMENT
        supportingDocumentId:
          type: string
          nullable: true
          example: 9d1e2f3a-4b5c-6d7e-8f90-1a2b3c4d5e6f
        status:
          type: string
          description: Current status of the limit request.
          enum:
            - IN_REVIEW
            - APPROVED
            - PARTIALLY_APPROVED
            - REJECTED
          example: IN_REVIEW
        reviewComment:
          type: string
          nullable: true
          description: Compliance's comment. Set when rejected or partially approved.
          example: null
        createdAt:
          type: string
          format: date-time
          example: '2024-01-15T10:00:00Z'
        updatedAt:
          type: string
          format: date-time
          description: Also the review timestamp once the request leaves IN_REVIEW.
          example: '2024-01-15T10:00:00Z'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: Bearer authentication header on the format `Bearer <API_KEY>`.

````