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

# List accrual run decisions

> Returns what the engine decided for every contract in the accounting month this run closes. One row is one contract-competência, NOT one row the run inserted: `runId` names the run that CLAIMED the month, so on a re-run it differs from the identifier in the path and the page still shows the month's decisions instead of coming back empty. An empty page therefore means the month has no decisions at all, never that a re-run did nothing. `outcome` says where the income went: recognized into P&L, or suspended and withheld under Res. CMN 4.966 art. 17. The recognition fields are ABSENT, not zero, on a withheld month. An unknown run identifier is 404.



## OpenAPI

````yaml /es/openapi/v3-current/lender.yaml get /api/v1/accrual-runs/{id}/items
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    Code-first OpenAPI 3.1 surface for the Lender service. Routes that move
    money are at-most-once per X-Idempotency: when one answers 5xx, the
    X-Idempotency-Fenced response header says whether that key is now refusing
    resends (true) or free to retry (false or absent). See
    docs/contracts/money-route-idempotency.md.
  license:
    name: Lerian Studio General License
  title: Lender API
  version: 1.0.0
servers:
  - url: https://lender.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Caller session projection: validated subject and effective permissions for
      the presented token.
    name: Session
  - description: >-
      Ledger accounting operations: journal entries and accrual postings for
      loan accounts.
    name: Accounting
  - description: >-
      Loan application intake and lifecycle: submission, decisioning, and
      status.
    name: LoanApplications
  - description: >-
      Loan product catalog: definition, versioning, and activation of lending
      products.
    name: LoanProducts
  - description: >-
      Loan account servicing operations: balances, schedules, and account-level
      actions.
    name: Loan Accounts
  - description: >-
      Portfolio dashboard read operations: aggregated portfolio and performance
      views.
    name: Dashboard
  - description: >-
      Jurisdiction registry: supported jurisdiction profiles and their
      capabilities.
    name: Jurisdictions
  - description: >-
      Jurisdiction-specific loan application operations (Brazil origination
      surface).
    name: Loan Applications
  - description: >-
      Tax computation operations for jurisdiction-specific lending (e.g. Brazil
      IOF).
    name: Tax
  - description: >-
      Brazil consignado privado operations: contract lifecycle, exclusion
      repair, and compensating adjustments.
    name: Consignado
  - description: >-
      Credit-instrument document template registry: versioned drafting and
      publication of CCB clausulado.
    name: DocumentTemplates
paths:
  /api/v1/accrual-runs/{id}/items:
    get:
      tags:
        - Accounting
      summary: List accrual run decisions
      description: >-
        Returns what the engine decided for every contract in the accounting
        month this run closes. One row is one contract-competência, NOT one row
        the run inserted: `runId` names the run that CLAIMED the month, so on a
        re-run it differs from the identifier in the path and the page still
        shows the month's decisions instead of coming back empty. An empty page
        therefore means the month has no decisions at all, never that a re-run
        did nothing. `outcome` says where the income went: recognized into P&L,
        or suspended and withheld under Res. CMN 4.966 art. 17. The recognition
        fields are ABSENT, not zero, on a withheld month. An unknown run
        identifier is 404.
      operationId: listAccrualRunItems
      parameters:
        - description: Accrual run identifier.
          in: path
          name: id
          required: true
          schema:
            description: Accrual run identifier.
            examples:
              - 550e8400-e29b-41d4-a716-446655440000
            format: uuid
            type: string
        - description: Narrow to one recognition kind, e.g. interest or pis_cofins.
          explode: false
          in: query
          name: kind
          schema:
            description: Narrow to one recognition kind, e.g. interest or pis_cofins.
            examples:
              - interest
            maxLength: 32
            type: string
        - description: Narrow by the state of the item's downstream ledger posting.
          explode: false
          in: query
          name: postingStatus
          schema:
            description: Narrow by the state of the item's downstream ledger posting.
            enum:
              - pending
              - posted
            type: string
        - description: Narrow to one accounting month (YYYY-MM).
          explode: false
          in: query
          name: competencia
          schema:
            description: Narrow to one accounting month (YYYY-MM).
            examples:
              - 2026-05
            pattern: ^\d{4}-\d{2}$
            type: string
        - description: Narrow to one loan account's recognitions within this run.
          explode: false
          in: query
          name: loanAccountId
          schema:
            description: Narrow to one loan account's recognitions within this run.
            format: uuid
            type: string
        - description: Page size.
          explode: false
          in: query
          name: limit
          schema:
            default: 25
            description: Page size.
            format: int64
            maximum: 100
            minimum: 1
            type: integer
        - description: Page offset.
          explode: false
          in: query
          name: offset
          schema:
            default: 0
            description: Page offset.
            format: int64
            maximum: 10000
            minimum: 0
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccrualRunItemListHumaBody'
          description: OK
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unauthorized
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Forbidden
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Not Found
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unprocessable Entity
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Internal Server Error
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Service Unavailable
components:
  schemas:
    AccrualRunItemListHumaBody:
      additionalProperties: false
      properties:
        data:
          description: >-
            Page of the run's recognitions, newest first; always present, empty
            slice when none match.
          items:
            $ref: '#/components/schemas/AccrualRunItemReadHumaBody'
          type:
            - array
            - 'null'
      required:
        - data
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      type: object
    AccrualRunItemReadHumaBody:
      additionalProperties: false
      properties:
        businessDate:
          description: >-
            Business date of the run that produced the recognition (YYYY-MM-DD,
            UTC). Absent on a withheld month.
          examples:
            - '2026-06-14'
          type: string
        competencia:
          description: Accounting month the decision belongs to (YYYY-MM).
          examples:
            - 2026-05
          type: string
        createdAt:
          description: When the decision was recorded (RFC3339, UTC).
          examples:
            - '2026-06-14T03:00:00Z'
          type: string
        id:
          description: >-
            Accrual run item identifier (uuid). Absent when the month was
            withheld, because no recognition exists.
          examples:
            - 550e8400-e29b-41d4-a716-446655440002
          type: string
        interestAmount:
          description: >-
            Recognized amount, as a fixed two-decimal string. A string, never a
            number, so no consumer can round it through a float. ABSENT, not
            zero, on a withheld month.
          examples:
            - '102895.88'
          type: string
        kind:
          description: >-
            What was recognized: interest, or the per-competência revenue tax.
            Absent on a withheld month.
          examples:
            - interest
          type: string
        loanAccountId:
          description: Loan account (uuid) the decision was taken on.
          examples:
            - 550e8400-e29b-41d4-a716-446655440003
          type: string
        loanProductId:
          description: Loan product (uuid); omitted when the run did not record one.
          type: string
        loanProductVersionId:
          description: >-
            Loan product version (uuid); omitted when the run did not record
            one.
          type: string
        outboxEventId:
          description: >-
            Outbox event (uuid) this recognition enqueued; omitted when none was
            recorded.
          type: string
        outcome:
          description: >-
            Where this month's income went: recognized into P&L, or suspended
            and withheld (Res. CMN 4.966 art. 17).
          enum:
            - recognized
            - suspended
          examples:
            - recognized
          type: string
        postingStatus:
          description: >-
            State of this item's downstream ledger posting. Absent on a withheld
            month.
          examples:
            - pending
          type: string
        runId:
          description: >-
            Identifier (uuid) of the run that CLAIMED this competência. On a
            re-run it differs from the run in the path: the month was closed by
            an earlier run.
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        suspendedAccruedAmount:
          description: >-
            Income accrued but withheld for this contract, as a fixed
            two-decimal string. Present only when a suspended balance exists.
          examples:
            - '950.00'
          type: string
        suspendedRecognizedAmount:
          description: >-
            Previously withheld income since recognized, as a fixed two-decimal
            string. Present only when a suspended balance exists.
          examples:
            - '0.00'
          type: string
      required:
        - outcome
        - runId
        - loanAccountId
        - competencia
        - createdAt
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````