> ## 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.

# Score an assignment set against its fund's rule

> Measures the composition's FROZEN entry snapshots against the fund's eligibility and concentration limits and records the verdicts. A set waiting for the manager may be re-scored; an approved one never is.



## OpenAPI

````yaml /es/openapi/v3-current/lender.yaml post /api/v1/assignment/sets/{setId}/eligibility
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/assignment/sets/{setId}/eligibility:
    post:
      tags:
        - AssignmentSets
      summary: Score an assignment set against its fund's rule
      description: >-
        Measures the composition's FROZEN entry snapshots against the fund's
        eligibility and concentration limits and records the verdicts. A set
        waiting for the manager may be re-scored; an approved one never is.
      operationId: checkAssignmentSetEligibility
      parameters:
        - description: Assignment set identifier.
          in: path
          name: setId
          required: true
          schema:
            description: Assignment set identifier.
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentSetEligibilityHumaBody'
          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
        '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
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
components:
  schemas:
    AssignmentSetEligibilityHumaBody:
      additionalProperties: false
      properties:
        concentrationBase:
          description: >-
            Denominator the surviving composition was measured against: the
            fund's accepted stock plus the admitted set, decimal string, scale
            2.
          type: string
        currency:
          description: ISO currency code every amount above is denominated in.
          type: string
        dimensionsNotEvaluated:
          description: >-
            Concentration dimensions this scoring could not measure. sector has
            no data source at all; assignor is listed when the composition
            carries no per-receivable assignor.
          items:
            type: string
          type:
            - array
            - 'null'
        eligibleCount:
          description: How many receivables survived every rule.
          format: int64
          type: integer
        items:
          description: Every receivable of the composition with its verdict.
          items:
            $ref: '#/components/schemas/AssignmentSetItemHumaBody'
          type:
            - array
            - 'null'
        ruleVersion:
          description: >-
            Identifier of the eligibility/concentration rule that produced these
            verdicts.
          type: string
        set:
          $ref: '#/components/schemas/AssignmentSetHumaBody'
          description: The set after the scoring, in its new state.
      required:
        - set
        - items
        - ruleVersion
        - eligibleCount
        - concentrationBase
        - currency
        - dimensionsNotEvaluated
      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
    AssignmentSetItemHumaBody:
      additionalProperties: false
      properties:
        assignmentPrice:
          description: >-
            Present value at the fund's cession rate — what the fund pays,
            decimal string, scale 2.
          type: string
        assignmentRate:
          description: >-
            Monthly effective cession rate applied, decimal fraction string,
            scale 8.
          type: string
        assignorRef:
          description: Opaque assignor key the fund's assignor limit aggregates by.
          type: string
        borrowerRef:
          description: >-
            Opaque debtor key the invariable 20% cap aggregates by. Never a
            document number.
          type: string
        currency:
          description: ISO currency code of every amount on this item.
          type: string
        custodyComplete:
          description: >-
            Whether the signature evidence was complete when the receivable
            entered the set.
          type: boolean
        discountAmount:
          description: faceValue minus assignmentPrice, decimal string, scale 2.
          type: string
        dossierDigest:
          description: >-
            Digest of the materialized evidence bundle. Empty when no dossier
            has been produced yet — the endorsement term is what refuses to be
            signed over that.
          type: string
        exitReason:
          description: >-
            Why it was removed, in the remover's own vocabulary. Empty while
            in_set.
          type: string
        exitSource:
          description: >-
            Who removed it: eligibility (our engine), remessa (the fund's return
            file) or trail (the rail re-read). Empty while in_set.
          type: string
        faceValue:
          description: Face value of the remaining flow, decimal string, scale 2.
          type: string
        hasOpenOverdue:
          description: Whether the receivable carried open arrears when it entered the set.
          type: boolean
        installmentCount:
          description: Installments remaining as frozen at entry.
          format: int64
          type: integer
        itemState:
          description: >-
            in_set, cut (a verdict removed it) or removed_trail (the
            pre-approval rail re-read no longer found it).
          type: string
        outstandingBalance:
          description: Outstanding balance as frozen at entry, decimal string, scale 2.
          type: string
        paymentSourceRef:
          description: >-
            Opaque key of the receivable's payment source — the party the
            instalment is collected through — that the fund's payment-source
            limit aggregates by. Which party that is belongs to the
            jurisdiction, and this contract never names it.
          type: string
        principalAmount:
          description: Booked principal as frozen at entry, decimal string, scale 2.
          type: string
        receivableRef:
          description: Receivable reference (the rail contract number).
          type: string
        registrationActive:
          description: >-
            Whether the rail registration was in force when the receivable
            entered the set.
          type: boolean
        repriced:
          description: >-
            True when the pre-approval rail re-read found this receivable
            altered and the same ruler repriced it (Q-P6-5).
          type: boolean
        snapshotObservedAt:
          description: Instant the frozen facts above were read (RFC3339, UTC).
          type: string
        trailInstallmentsRemaining:
          description: >-
            Remaining installments the RAIL reported at the last pre-approval
            re-read. Absent before the first one.
          format: int64
          type: integer
        valuationBaseDate:
          description: Base date the present value was discounted to (RFC3339, UTC).
          type: string
        valuationVersion:
          description: Pricing ruler this price came out of.
          type: string
      required:
        - receivableRef
        - itemState
        - exitSource
        - exitReason
        - repriced
        - borrowerRef
        - paymentSourceRef
        - assignorRef
        - outstandingBalance
        - principalAmount
        - installmentCount
        - currency
        - registrationActive
        - custodyComplete
        - hasOpenOverdue
        - dossierDigest
        - faceValue
        - assignmentPrice
        - discountAmount
        - valuationVersion
        - assignmentRate
        - valuationBaseDate
        - snapshotObservedAt
      type: object
    AssignmentSetHumaBody:
      additionalProperties: false
      properties:
        createdAt:
          description: Creation timestamp (RFC3339, UTC).
          type: string
        createdBy:
          description: Validated actor identity that assembled the composition.
          type: string
        currency:
          description: ISO currency code every amount of this set is denominated in.
          type: string
        eligibilityCheckedAt:
          description: Instant the composition was scored (RFC3339, UTC). Empty on a draft.
          type: string
        fundId:
          description: Fund registration this composition is offered to.
          type: string
        id:
          description: Assignment set identifier (uuid).
          type: string
        inSetItemCount:
          description: How many receivables are still in the composition.
          format: int64
          type: integer
        ruleVersion:
          description: >-
            Eligibility/concentration ruler that scored this composition. Empty
            on a draft nobody has measured yet.
          type: string
        state:
          description: >-
            Lifecycle state: draft, eligibility_checked, pending_approval,
            approved, offer_sent, remessa_received, term_signed, paid,
            transferred, accepted — plus cancelled, the terminal state a
            DISCARDED composition rests in. cancelled is a sideways exit, not a
            step of the forward walk: its receivables are released back to the
            assignable pool and nothing advances it.
          type: string
        totalAssignmentPrice:
          description: >-
            Assignment price of the SURVIVING composition, decimal string, scale
            2.
          type: string
        totalFaceValue:
          description: Face value of the SURVIVING composition, decimal string, scale 2.
          type: string
        updatedAt:
          description: Last-update timestamp (RFC3339, UTC).
          type: string
        valuationVersion:
          description: Deterministic pricing ruler every item price came out of.
          type: string
      required:
        - id
        - fundId
        - state
        - currency
        - valuationVersion
        - ruleVersion
        - eligibilityCheckedAt
        - createdBy
        - createdAt
        - updatedAt
        - inSetItemCount
        - totalFaceValue
        - totalAssignmentPrice
      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

````