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

# Repay loan principal

> Submit a principal repayment for a loan.

<Info>
  **Coinbase Exchange Loans Program**

  See [Coinbase Exchange Loans Program](https://coinbase.bynder.com/m/47c334b9a63ed3e4/original/exchange-Loans-Program.pdf) for program details including qualification criteria and sample terms.
</Info>

<Warning>
  **Caution**

  The lending rate limit is [10 RPS per profile](/exchange/rest-api/rate-limits).
</Warning>


## OpenAPI

````yaml POST /loans/repay-principal
openapi: 3.0.1
info:
  title: REST API
  description: >-
    # Welcome to Coinbase Exchange API

    ## Introduction

    The Exchange Trading APIs allow institutions to place orders and access
    account information. The following API pages detail various REST API
    endpoints we offer for lower-frequency trading and general requests.

    ## Getting Started

    To get started, please visit one of the following pages:

    - [Authentication](/exchange/docs/rest-auth)

    - [Rate Limits](/exchange/docs/rest-rate-limits)

    - [Pagination](/exchange/docs/rest-pagination)

    - [Status Codes](/exchange/docs/rest-requests)

    - [Quickstart](/exchange/docs/getting-started)

    ## FIX API

    - [FIX API reference](/exchange/docs/fix-connectivity)

    ## WebSocket API

    - [WebSocket API reference](/exchange/docs/websocket-overview)
  version: '1.0'
servers:
  - url: https://api.exchange.coinbase.com/
security:
  - ApiKeyAuthKey: []
    ApiKeyAuthPassphrase: []
    ApiKeyAuthSign: []
    ApiKeyAuthTimestamp: []
paths:
  /loans/repay-principal:
    post:
      tags:
        - Loans
      summary: Repay loan principal
      description: Submit a principal repayment for a loan.
      operationId: ExchangeRESTAPI_RepayPrincipal
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apiRepayPrincipalRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiRepayPrincipalResponse'
        '500':
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiErrorResponse'
components:
  schemas:
    apiRepayPrincipalRequest:
      type: object
      properties:
        loan_id:
          type: string
        idem:
          type: string
        from_profile_id:
          type: string
        currency:
          type: string
        native_amount:
          type: string
    apiRepayPrincipalResponse:
      type: object
      properties:
        repayment:
          $ref: '#/components/schemas/apiRepayment'
    apiErrorResponse:
      type: object
      properties:
        message:
          title: message
          pattern: ^[a-zA-Z0-9]{1, 32}$
          type: string
    apiRepayment:
      type: object
      properties:
        id:
          type: string
        loan_id:
          type: string
        native_amount:
          type: string
        initial_native_amount:
          type: string
        status:
          $ref: '#/components/schemas/apiRepaymentStatus'
        type:
          $ref: '#/components/schemas/apiRepaymentType'
    apiRepaymentStatus:
      type: string
      default: REPAYMENT_UNSET
      enum:
        - REPAYMENT_UNSET
        - REPAYMENT_PENDING
        - REPAYMENT_COMPLETED
        - REPAYMENT_CANCELLED
        - REPAYMENT_EXPIRED
        - REPAYMENT_COMMITTED
        - REPAYMENT_REJECTED
    apiRepaymentType:
      type: string
      default: REPAYMENT_TYPE_UNSET
      enum:
        - REPAYMENT_TYPE_UNSET
        - PRINCIPAL_RETURN
        - PRINCIPAL_RECALL
        - INTEREST_PAYMENT
  securitySchemes:
    ApiKeyAuthKey:
      type: apiKey
      name: cb-access-key
      in: header
    ApiKeyAuthPassphrase:
      type: apiKey
      name: cb-access-passphrase
      in: header
    ApiKeyAuthSign:
      type: apiKey
      name: cb-access-sign
      in: header
    ApiKeyAuthTimestamp:
      type: apiKey
      name: cb-access-timestamp
      in: header

````