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

# Get invoice

> Retrieve a single invoice with its full line-item detail.



## OpenAPI

````yaml /api-reference/openapi.json get /invoices/{id}
openapi: 3.1.1
info:
  title: Dolfin API
  description: >-
    Dolfin API for AR & AP. Authenticate using the `x-dolfin-api-key` header
    with the API key distributed to your organisation.
  version: v1
servers:
  - url: https://api.dolfinai.co
    description: Production
security:
  - {}
tags:
  - name: Webhooks
  - name: Users
  - name: TaxRates
  - name: Suppliers
  - name: Supplier Credit Notes
  - name: Bills
  - name: SpendCategories
  - name: Payables
  - name: RecurringInvoices
  - name: Receivables
  - name: Purchase Orders
  - name: Products
  - name: Payments
  - name: Invoices
  - name: Organisations
  - name: Members
  - name: MCP
  - name: Matching
  - name: Invoice Reminders
  - name: Industries
  - name: Gmail
  - name: Delivery Notes
  - name: Customers
  - name: Currencies
  - name: Credit Notes
  - name: Clients
  - name: ClientInvites
  - name: BankPayments
  - name: Bank details
  - name: Auth
  - name: ApprovalPolicies
  - name: ApiKeys
  - name: Agent
paths:
  /invoices/{id}:
    get:
      tags:
        - Invoices
      summary: Get invoice
      description: Retrieve a single invoice with its full line-item detail.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '404':
          description: Invoice.NotFound — no invoice with that id for this organisation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    InvoiceResponse:
      required:
        - currency
      type: object
      properties:
        id:
          type: string
          format: uuid
        organisationId:
          type: string
          format: uuid
        customerId:
          type: string
          format: uuid
        documentNumber:
          type:
            - 'null'
            - string
        currency:
          type: string
          description: ISO 4217 currency code (e.g. GBP, USD, EUR)
        issueDate:
          type: string
          format: date-time
        dueDate:
          type:
            - 'null'
            - string
          format: date-time
        status:
          $ref: '#/components/schemas/InvoiceState'
        subTotal:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        taxAmount:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        totalAmount:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        amountPaid:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          description: Total payments received against this invoice.
          format: double
        amountCredited:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          description: Total of issued credit notes applied to this invoice.
          format: double
        outstanding:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          description: >-
            Remaining balance: TotalAmount - payments received - issued credit
            notes.
          format: double
        recurringScheduleId:
          type:
            - 'null'
            - string
          description: >-
            Set when this invoice was generated from a recurring schedule; null
            for hand-made invoices.
          format: uuid
        recurringOccurrenceNumber:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        memo:
          type:
            - 'null'
            - string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type:
            - 'null'
            - string
          format: uuid
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type:
            - 'null'
            - string
          format: uuid
        paymentUrl:
          type:
            - 'null'
            - string
        customer:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/CustomerResponse'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLineItemResponse'
    ProblemDetails:
      type: object
      properties:
        type:
          type:
            - 'null'
            - string
        title:
          type:
            - 'null'
            - string
        status:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        detail:
          type:
            - 'null'
            - string
        instance:
          type:
            - 'null'
            - string
    InvoiceState:
      enum:
        - Draft
        - Sent
        - Paid
        - Void
        - PartiallyPaid
        - Credited
    CustomerResponse:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          format: uuid
        organisationId:
          type: string
          format: uuid
        name:
          type: string
        email:
          type:
            - 'null'
            - string
        phone:
          type:
            - 'null'
            - string
        taxNumber:
          type:
            - 'null'
            - string
        addressLine1:
          type:
            - 'null'
            - string
        addressLine2:
          type:
            - 'null'
            - string
        city:
          type:
            - 'null'
            - string
        state:
          type:
            - 'null'
            - string
        postalCode:
          type:
            - 'null'
            - string
        country:
          type:
            - 'null'
            - string
          description: ISO 3166-1 alpha-2 country code (e.g. GB, US, DE)
        createdAt:
          type: string
          format: date-time
        createdBy:
          type:
            - 'null'
            - string
          format: uuid
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type:
            - 'null'
            - string
          format: uuid
    InvoiceLineItemResponse:
      required:
        - description
      type: object
      properties:
        id:
          type: string
          format: uuid
        productId:
          type: string
          format: uuid
        productName:
          type:
            - 'null'
            - string
        taxRateId:
          type:
            - 'null'
            - string
          format: uuid
        taxRateSnapshot:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/TaxRateSnapshotResponse'
              description: >-
                Frozen copy of the tax rate as applied when the invoice was
                sent. Read-only — no tool can modify a sent invoice's tax.
                Present on Sent/Paid/Void invoices, null on Draft.
        description:
          type: string
        quantity:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        unitPrice:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        taxAmount:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        subTotal:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
    TaxRateSnapshotResponse:
      required:
        - code
        - name
        - source
      type: object
      properties:
        code:
          type: string
        name:
          type: string
        rate:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        source:
          type: string
        sourceId:
          type:
            - 'null'
            - string
          format: uuid
        snapshottedAt:
          type: string
          format: date-time

````