---
updatedAt: 2026-07-07T11:08:04.000Z
agentTools:
  projectIndex: https://docs.youlend.com/llms.txt
---

# Submit a CSV repayment report for downstream processing.

The request must be sent as multipart/form-data with required metadata and file fields.<br />
The metadata field is plain text whose value must be valid JSON.<br />
Metadata fields and CSV fields use camelCase names.<br />
Additional CSV columns are allowed and ignored by this endpoint.<br />
When validation fails, the response body contains grouped top-level and row-level errors.<br />
Sample metadata:
{
    "reportId": "report-1",
    "transferId": "transfer-1",
    "currency": "GBP",
    "transferDate": "2024-01-01"
}
Sample CSV body:
loan_id,payments_transmitted
11111111-1111-1111-1111-111111111111,123.45

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Third Party Loan API",
    "version": "v2.0"
  },
  "servers": [
    {
      "url": "https://partners.staging-youlendapi.com/loan"
    }
  ],
  "paths": {
    "/BulkPayments/report": {
      "post": {
        "tags": [
          "BulkPayments"
        ],
        "summary": "Submit a CSV repayment report for downstream processing.",
        "description": "The request must be sent as multipart/form-data with required metadata and file fields.<br />\r\nThe metadata field is plain text whose value must be valid JSON.<br />\r\nMetadata fields and CSV fields use camelCase names.<br />\r\nAdditional CSV columns are allowed and ignored by this endpoint.<br />\r\nWhen validation fails, the response body contains grouped top-level and row-level errors.<br />\r\nSample metadata:\r\n{\r\n    \"reportId\": \"report-1\",\r\n    \"transferId\": \"transfer-1\",\r\n    \"currency\": \"GBP\",\r\n    \"transferDate\": \"2024-01-01\"\r\n}\r\nSample CSV body:\r\nloan_id,payments_transmitted\r\n11111111-1111-1111-1111-111111111111,123.45",
        "parameters": [
          {
            "name": "api-version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "Metadata": {
                    "$ref": "#/components/schemas/BulkPaymentsReportMetadataModel"
                  },
                  "File": {
                    "type": "string",
                    "description": "Gets or sets the required CSV file containing repayment rows.\r\nThe required headers are loan_id and payments_transmitted, and additional columns are ignored.",
                    "format": "binary",
                    "nullable": true
                  }
                }
              },
              "encoding": {
                "Metadata": {
                  "contentType": "application/json",
                  "style": "form"
                },
                "File": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CSV repayment report accepted for processing."
          },
          "400": {
            "description": "The request payload is invalid.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BulkPaymentsErrorResponseModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkPaymentsErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request! Please check your bearer token.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "BulkPaymentsErrorType": {
        "enum": [
          "BP101",
          "BP102",
          "BP103",
          "BP104",
          "BP201",
          "BP202"
        ],
        "type": "string"
      },
      "BulkPaymentsTopLevelErrorItemModel": {
        "type": "object",
        "properties": {
          "errorType": {
            "$ref": "#/components/schemas/BulkPaymentsErrorType"
          },
          "description": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets or sets the grouped descriptions for the validation failure.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A grouped top-level Bulk Payments validation error."
      },
      "BulkPaymentsRowErrorItemModel": {
        "type": "object",
        "properties": {
          "errorType": {
            "$ref": "#/components/schemas/BulkPaymentsErrorType"
          },
          "description": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets or sets the grouped descriptions for the row validation failure.",
            "nullable": true
          },
          "index": {
            "type": "integer",
            "description": "Gets or sets the CSV row index associated with the validation failure.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "A grouped row-level Bulk Payments validation error."
      },
      "BulkPaymentsErrorResponseModel": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkPaymentsTopLevelErrorItemModel"
            },
            "description": "Gets or sets the grouped top-level validation errors.",
            "nullable": true
          },
          "rowErrors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkPaymentsRowErrorItemModel"
            },
            "description": "Gets or sets the grouped row-level validation errors.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response returned when repayment report validation fails."
      },
      "ProblemDetails": {
        "type": "object",
        "additionalProperties": {
          "type": "object",
          "additionalProperties": false
        }
      },
      "BulkPaymentsReportMetadataModel": {
        "type": "object",
        "properties": {
          "reportId": {
            "type": "string",
            "description": "Gets or sets the unique report identifier.",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Gets or sets the currency for all payments in the report.",
            "nullable": true
          },
          "transferId": {
            "type": "string",
            "description": "Gets or sets the transfer identifier for the repayment report.",
            "nullable": true
          },
          "transferDate": {
            "type": "string",
            "description": "Gets or sets the optional transfer date sent by the partner as a date without time.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "JSON metadata part submitted with a CSV repayment report.<br />\r\nMetadata properties use camelCase names.<br />\r\nSend a plain text form field containing JSON such as<br /><remarks>\r\nSample metadata:\r\n{\r\n    \"reportId\": \"report-1\",\r\n    \"transferId\": \"transfer-1\",\r\n    \"currency\": \"GBP\",\r\n    \"transferDate\": \"2026-05-22\"\r\n}\r\n</remarks>"
      }
    },
    "securitySchemes": {
      "oauth2": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://youlend-stag.eu.auth0.com/oauth/token",
            "scopes": {}
          }
        }
      }
    }
  },
  "security": [
    {
      "oauth2": []
    }
  ]
}
```