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

# Post apiv1invoices pay



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/invoices/{id}/pay
openapi: 3.1.0
info:
  contact:
    email: api@nkama.ga
    name: NKAMA Engineering
  description: |-
    REST API for the NKAMA property rental and management platform (Gabon).

    All amounts are in XAF minor units and all timestamps are UTC (ISO-8601).
    Every request must carry a bearer access token; data is isolated per
    organization via the token's `org_id` claim, so a caller only ever sees
    their own organization's resources.
  license:
    name: Proprietary
  title: NKAMA API
  version: v1
servers:
  - description: Sandbox
    url: https://sandbox.api.nkama.ga
  - description: Production
    url: https://api.nkama.ga
  - description: Local development
    url: http://localhost:8080
security:
  - bearer-jwt: []
tags:
  - description: >-
      Authenticated self-service for the signed-in user, including changing the
      phone number (the login identifier) after re-verifying the new number by
      OTP.
    name: Account
  - description: >-
      Read generated lease contracts and invoice documents, fetch short-lived
      download URLs and record signatures. Documents are produced automatically
      from booking and billing events, so there is no create endpoint.
    name: Documents
  - description: >-
      Vendor callbacks. Not for client use: authenticated by a shared secret
      and/or an HMAC-SHA256 signature configured with the vendor, not a bearer
      token.
    name: Webhooks
  - description: >-
      Public, pre-authentication phone-first sign-up: request an OTP for a phone
      number, verify it for a short-lived ticket, then redeem the ticket with a
      profile to create the account. No bearer token — the caller has no account
      yet.
    name: Registration
  - description: >-
      Authenticated verification of the caller's on-file number: the code is
      always sent to the number the mirror holds for the caller, never one from
      the request, so a caller can only verify their own number.
    name: Phone verification
  - description: >-
      Public, pre-authentication forgotten-password reset: request an OTP to a
      registered number, then submit the code with a new password. The request
      response is uniform whether or not the number has an account, so it never
      reveals which numbers are registered.
    name: Account recovery
  - description: >-
      Currently-required Terms of Service and Privacy Policy versions to display
      and accept at sign-up.
    name: Legal
paths:
  /api/v1/invoices/{id}/pay:
    post:
      tags:
        - invoice-controller
      operationId: markPaid
      parameters:
        - in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
          description: OK
components:
  schemas:
    InvoiceResponse:
      properties:
        bookingId:
          format: uuid
          type: string
        createdAt:
          format: date-time
          type: string
        currency:
          type: string
        dueDate:
          format: date
          type: string
        grossAmount:
          format: int64
          type: integer
        id:
          format: uuid
          type: string
        netAmount:
          format: int64
          type: integer
        orgId:
          format: uuid
          type: string
        paidAt:
          format: date-time
          type: string
        periodEnd:
          format: date
          type: string
        periodStart:
          format: date
          type: string
        status:
          enum:
            - ISSUED
            - OVERDUE
            - PAID
            - CANCELLED
          type: string
        tenantUserId:
          format: uuid
          type: string
        tvaAmount:
          format: int64
          type: integer
        tvaBasisPoints:
          format: int64
          type: integer
      type: object
  securitySchemes:
    bearer-jwt:
      bearerFormat: JWT
      description: >-
        Bearer access token (JWT) issued by Keycloak or the sandbox token
        endpoint.
      scheme: bearer
      type: http

````