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

# Discard an assignment set

> Calls a composition off and RELEASES its receivables back to the assignable pool. Allowed from every state except accepted, whose receivables were sold and written off, and refused for any composition that already sold part of itself: a line already accepted and written off, or a title already moved to the fund at the registry. Nothing is deleted: the set rests in the terminal cancelled state with its items, its transitions, its approval and its custodied signature evidence intact, and one append-only audit row names who called it off and why. Discarding a set that is already cancelled is inert.



## OpenAPI

````yaml /pt/openapi/v3-current/lender.yaml post /api/v1/assignment/sets/{setId}/discard
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}/discard:
    post:
      tags:
        - AssignmentSets
      summary: Discard an assignment set
      description: >-
        Calls a composition off and RELEASES its receivables back to the
        assignable pool. Allowed from every state except accepted, whose
        receivables were sold and written off, and refused for any composition
        that already sold part of itself: a line already accepted and written
        off, or a title already moved to the fund at the registry. Nothing is
        deleted: the set rests in the terminal cancelled state with its items,
        its transitions, its approval and its custodied signature evidence
        intact, and one append-only audit row names who called it off and why.
        Discarding a set that is already cancelled is inert.
      operationId: discardAssignmentSet
      parameters:
        - description: Assignment set identifier.
          in: path
          name: setId
          required: true
          schema:
            description: Assignment set identifier.
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscardAssignmentSetHumaInputBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentSetDiscardResultHumaBody'
          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:
    DiscardAssignmentSetHumaInputBody:
      additionalProperties: false
      properties:
        note:
          description: >-
            The particulars, in the operator's own words. Optional; omitted
            rather than blanked on the audit row when there is nothing to add.
          maxLength: 512
          type: string
        reason:
          description: >-
            Why the composition was called off. abandoned: nobody is going to
            finish it. member_ineligible: a line in it can never be sold and was
            holding every other line with it. counterparty_declined: the fund or
            its administrator walked away outside the remessa. superseded:
            replaced by another composition. Required — free text is a
            disposition nobody can count.
          enum:
            - abandoned
            - member_ineligible
            - counterparty_declined
            - superseded
          type: string
      required:
        - reason
      type: object
    AssignmentSetDiscardResultHumaBody:
      additionalProperties: false
      properties:
        fromState:
          description: >-
            Where the set stood when the decision landed, or the state it was
            already in on a replay.
          type: string
        replayed:
          description: >-
            True when this set was ALREADY discarded and nothing was written. No
            second audit row was appended and no second decision was recorded.
          type: boolean
        setId:
          description: The composition that was called off.
          type: string
        state:
          description: >-
            Always cancelled: the terminal state a discarded composition rests
            in. Nothing is deleted — the items, the transitions, the approval
            and the custodied evidence all stand.
          type: string
      required:
        - setId
        - fromState
        - state
        - replayed
      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
    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

````