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

# Mark a record as overdue

> Flags a record as overdue within a specific reconciliation by setting the `overdue_at` timestamp on its reconciliation entry. The reconciliation and record are both named in the path — the subject is the (reconciliation, record) entry, so the same record can be overdue in one reconciliation and matched in another. The record's data stream must be part of the reconciliation. If no entry exists yet for the record and reconciliation, one is created so unmatched records can be flagged as overdue. Records already matched in this reconciliation cannot be marked overdue. Once overdue, the record is picked up by the exceptions sweeper and rolled into the data-stream-scoped exception for that reconciliation.



## OpenAPI

````yaml /openapi.json post /reconciliations/{reconciliation_id}/records/{record_id}/mark_overdue
openapi: 3.1.0
info:
  title: End Close API
  description: REST API is used to interact with the End Close platform.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.endclose.com/v1
security:
  - ApiKeyAuth: []
paths:
  /reconciliations/{reconciliation_id}/records/{record_id}/mark_overdue:
    post:
      summary: Mark a record as overdue
      description: >-
        Flags a record as overdue within a specific reconciliation by setting
        the `overdue_at` timestamp on its reconciliation entry. The
        reconciliation and record are both named in the path — the subject is
        the (reconciliation, record) entry, so the same record can be overdue in
        one reconciliation and matched in another. The record's data stream must
        be part of the reconciliation. If no entry exists yet for the record and
        reconciliation, one is created so unmatched records can be flagged as
        overdue. Records already matched in this reconciliation cannot be marked
        overdue. Once overdue, the record is picked up by the exceptions sweeper
        and rolled into the data-stream-scoped exception for that
        reconciliation.
      parameters:
        - in: path
          name: reconciliation_id
          required: true
          schema:
            type: string
          description: >-
            The unique identifier of the reconciliation the record should be
            marked overdue in
        - in: path
          name: record_id
          required: true
          schema:
            type: string
          description: The unique identifier of the record
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                overdue_at:
                  type: string
                  format: date-time
                  description: >-
                    When the record should be considered overdue. Defaults to
                    the current time.
      responses:
        '200':
          description: The record's entry in the given reconciliation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReconciliationEntry'
        '401':
          description: Unauthorized
        '404':
          description: Record or reconciliation not found
        '409':
          description: >-
            Record is already matched in this reconciliation and cannot be
            marked overdue
        '422':
          description: >-
            Record's data stream is not part of the reconciliation, or invalid
            `overdue_at`
components:
  schemas:
    ReconciliationEntry:
      description: >-
        A record's entry in one reconciliation. Match status, escalation, and
        matched records are all scoped to that reconciliation; a record has one
        entry per reconciliation it participates in. `id` is the record id.
      allOf:
        - $ref: '#/components/schemas/Record'
        - type: object
          properties:
            reconciliation_id:
              type: integer
            reconciliation_name:
              type: string
            status:
              type: string
              enum:
                - reconciled
                - unreconciled
              description: Whether the record is matched in this reconciliation. Read-only.
            escalated:
              type: boolean
              description: Unmatched and past its `overdue_at`.
            overdue_at:
              type: string
              format: date-time
              nullable: true
            matched_records:
              type: array
              description: Records matched with this record in this reconciliation
              items:
                type: object
                properties:
                  id:
                    type: integer
                  amount:
                    type: integer
                    description: Amount in cents
                  currency:
                    type: string
                    description: Three-letter ISO 4217 currency code (e.g. USD, EUR)
                    default: USD
                  decimal_places:
                    type: integer
                    default: 2
                  direction:
                    type: string
                    enum:
                      - credit
                      - debit
                  description:
                    type: string
                  date:
                    type: string
                    format: date
                  external_id:
                    type: string
                  data_stream_key:
                    type: string
                  reconciliation_id:
                    type: integer
                    description: The reconciliation in which this match was made
                  reconciliation_name:
                    type: string
                    description: Name of the reconciliation in which this match was made
            days_unreconciled:
              type: integer
              nullable: true
              description: >-
                Number of days since the record's date. Null when the record is
                reconciled.
            exception_id:
              type: integer
              nullable: true
              description: >-
                Open exception covering this entry's data stream when the entry
                is escalated. Null otherwise.
    Record:
      type: object
      required:
        - date
        - data_stream_key
        - amount
        - direction
      properties:
        id:
          type: integer
        amount:
          type: integer
          description: The monetary amount in cents (e.g., 1234 = $12.34)
        currency:
          type: string
          description: >-
            Three-letter ISO 4217 currency code (e.g. USD, EUR). **Optional on
            create — defaults to `USD` when omitted.** Case-insensitive on
            input; always returned uppercase.
          pattern: ^[A-Za-z]{3}$
          default: USD
        decimal_places:
          type: integer
          description: Number of decimal places for this currency (2 for USD)
          default: 2
        direction:
          type: string
          enum:
            - credit
            - debit
        description:
          type: string
        date:
          type: string
          format: date
        metadata:
          type: object
          additionalProperties: true
          default: {}
        external_id:
          type: string
        data_stream_key:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````