Copper.co Lending API

The lending API from Copper.co — 34 operation(s) for lending.

OpenAPI Specification

copper-co-lending-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Copper Co Lending API
  version: latest
  description: 'Operations tagged lending across 2 of this provider''s published API definitions: copper-co-lending-openapi.json, copper-co-platform-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- description: platform.copper.co
  url: https://api.copper.co/platform
- description: demo.copper.co
  url: https://api.stage.copper.co/platform
- description: testnet.copper.co
  url: https://api.testnet.copper.co/platform
tags:
- name: lending
paths:
  /organizations/{organizationId}/loans:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    get:
      description: Retrieve loans
      parameters:
      - description: The account to filter by
        in: query
        name: portfolioId
        required: false
        schema:
          type: string
      - in: query
        name: loanIds
        required: false
        schema:
          items:
            type: string
          type: array
      - description: The loan side to filter by. [See details](/enums/LoanSide)
        example:
        - lend
        in: query
        name: loanSide
        required: false
        schema:
          $ref: '#/components/schemas/LoanSide'
          type: string
      - description: '[See details](/enums/LoanType)'
        in: query
        name: loanTypes
        required: false
        schema:
          items:
            $ref: '#/components/schemas/LoanType'
          type: array
      - description: The loan status to filter by. [See details](/enums/LoanStatus)
        example:
        - disbursing,active
        in: query
        name: statuses
        required: false
        schema:
          items:
            $ref: '#/components/schemas/LoanStatus'
          type: array
      - description: Flag to filter out open loans
        in: query
        name: isOpen
        required: false
        schema:
          default: 'false'
          type: boolean
      - description: Flag indicating if collaterals should be included in embedded
        in: query
        name: includeCollaterals
        required: false
        schema:
          default: 'false'
          type: boolean
      - description: Flag indicating if counterparties should be included in embedded
        in: query
        name: includeCounterparties
        required: false
        schema:
          default: 'false'
          type: boolean
      - description: The number of loans to include in the response
        in: query
        name: limit
        required: false
        schema:
          type: string
      - description: The number of loans to skip in the response
        in: query
        name: offset
        required: false
        schema:
          type: string
      - description: 'The field to sort by. Currently supported: updatedAt'
        in: query
        name: sortBy
        required: false
        schema:
          default: LoanStatus by relevance
          type: string
      - description: The direction to sort by - must be used in conjunction with sortBy. [See details](/enums/SortingDirection)
        in: query
        name: sortDirection
        required: false
        schema:
          $ref: '#/components/schemas/SortingDirection'
          default: desc
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Loans'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Get Loans
      tags:
      - lending
    post:
      description: Initiate loan creation. This action can only be carried out by the lender.
      parameters:
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLoan'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Create Loan
      tags:
      - lending
    patch:
      description: Obtain the loan LTV or needed collateral amount for given loan parameters.
      parameters:
      - description: application/vnd.calculate-ltv-dry-run+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.calculate-ltv-dry-run+json:
            schema:
              $ref: '#/components/schemas/CalculateLtvDryRun'
      responses:
        '200':
          content:
            application/vnd.calculate-ltv-dry-run+json:
              schema:
                $ref: '#/components/schemas/LtvDryRunResult'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Calculate Loan LTV Dry Run
      tags:
      - lending
  /organizations/{organizationId}/loans/{acceptExtensionLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    patch:
      description: Accept the loan term extension request. Only requests that were initiated by the counterparty can be accepted.
      parameters:
      - description: application/vnd.accept-loan-term-extension+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: path
        name: acceptExtensionLoanId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-loan-term-extension+json:
            schema:
              $ref: '#/components/schemas/ExtendLoan'
      responses:
        '200':
          content:
            application/vnd.accept-loan-term-extension+json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Loan Term Extension
      tags:
      - lending
  /organizations/{organizationId}/loans/{acceptInterestLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    patch:
      description: Accept the loan interest payment request.
      parameters:
      - description: application/vnd.accept-interest-payment+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: path
        name: acceptInterestLoanId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-interest-payment+json:
            schema:
              $ref: '#/components/schemas/InterestPaymentAction'
      responses:
        '200':
          content:
            application/vnd.accept-interest-payment+json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Loan Interest Payment
      tags:
      - lending
  /organizations/{organizationId}/loans/{acceptLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    patch:
      description: Accept a loan. This action can only be carried out by the borrower.
      parameters:
      - description: application/vnd.accept-loan+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: path
        name: acceptLoanId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-loan+json:
            schema:
              $ref: '#/components/schemas/AcceptLoan'
      responses:
        '200':
          content:
            application/vnd.accept-loan+json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Loan
      tags:
      - lending
  /organizations/{organizationId}/loans/{acceptRebalanceLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    patch:
      description: Accept the loan rebalance request. Only a lender can carry out this action.
      parameters:
      - description: application/vnd.accept-loan-rebalance+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: path
        name: acceptRebalanceLoanId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-loan-rebalance+json:
            schema:
              $ref: '#/components/schemas/ActionLoan'
      responses:
        '200':
          content:
            application/vnd.accept-loan-rebalance+json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Loan Rebalance
      tags:
      - lending
  /organizations/{organizationId}/loans/{acceptRepaymentLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    patch:
      description: Accept the full or partial loan repayment request. Only requests that were initiated by the counterparty can be accepted.
      parameters:
      - description: application/vnd.accept-loan-repayment+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: path
        name: acceptRepaymentLoanId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-loan-repayment+json:
            schema:
              $ref: '#/components/schemas/RepayLoan'
      responses:
        '200':
          content:
            application/vnd.accept-loan-repayment+json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Loan Repayment
      tags:
      - lending
  /organizations/{organizationId}/loans/{acceptRerateLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    patch:
      description: Accept the loan interest rerate request. Only the borrower can carry out this action.
      parameters:
      - description: application/vnd.accept-loan-rerate+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: path
        name: acceptRerateLoanId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-loan-rerate+json:
            schema:
              $ref: '#/components/schemas/LoanModificationAction'
      responses:
        '200':
          content:
            application/vnd.accept-loan-rerate+json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Loan Rerate
      tags:
      - lending
  /organizations/{organizationId}/loans/{acceptTopUpLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    patch:
      description: Accept the loan top up request. Only a borrower can carry out this action.
      parameters:
      - description: application/vnd.accept-loan-top-up+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: path
        name: acceptTopUpLoanId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-loan-top-up+json:
            schema:
              $ref: '#/components/schemas/ActionLoan'
      responses:
        '200':
          content:
            application/vnd.accept-loan-top-up+json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Loan Top Up
      tags:
      - lending
  /organizations/{organizationId}/loans/{approveLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
    - description: testnet.copper.co
      url: https://api.testnet.copper.co/platform
    patch:
      description: Approve a loan. This action can only be carried out by the lender if a loan is in awaiting-approval state.
      parameters:
      - description: application/vnd.approve-loan+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: path
        name: approveLoanId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.approve-loan+json:
              schema:
                $ref: '#/components/schemas/Loan'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Approve Loan
      tags:
      - lending
  /organizations/{organizationId}/loans/{cancelExtensionLoanId}:
    servers:
    - description: platform.copper.co
      url: https://api.copper.co/platform
    - description: demo.copper.co
      url: https://api.stage.copper.co/platform
  

# --- truncated at 32 KB (141 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/copper-co/refs/heads/main/openapi/copper-co-lending-api-openapi.yml