/v1/credit-memos/{id}/submitSubmit a credit memo
Sends a draft memo up for a decision: draft → in_review, stamping the caller as its reviewer and the moment. Body: notes, optional. Any writer may submit their own draft; deciding it takes the admin seat (post_credit-memos_id_approve / post_credit-memos_id_reject). Submitting anything but a draft reads as a not-found. Arriving from a deal record page, the same three moves are one route — post_definitions_key_credit-memos_id_transition, which calls these same store methods.
Access class: workspace.
Send request
Use the documented inputs to call this endpoint directly.
Parameters
Values are applied to the request and the example on the right.
Request body
application/jsonrequiredResponses
the action's answer
{
"data": {
"aiGenerated": true,
"approvalNotes": "string",
"approvedAt": "string",
"approverUserId": 1,
"attachmentIds": [
1
],
"authorUserId": 1,
"businessOverview": "string",
"collateralAnalysis": "string",
"createdAt": "string",
"currency": "string",
"dealRowId": "",
"definitionId": "",
"detail": {},
"executiveSummary": "string",
"expiresAt": "string",
"facilityId": 1,
"financialAnalysis": "string",
"generationModel": "string",
"id": 1,
"industryAnalysis": "string",
"memoType": "string",
"ownershipAnalysis": "string",
"previousMemoId": 1,
"recommendation": "string",
"recommendedAmountMinor": 1,
"recommendedConditions": [
"string"
],
"recommendedDecision": "string",
"recommendedProduct": "string",
"recommendedRate": "string",
"recommendedTermMonths": 1,
"rejectionReason": "string",
"requestedAmountMinor": 1,
"reviewNotes": "string",
"reviewedAt": "string",
"reviewerUserId": 1,
"riskAssessment": "string",
"riskProfileId": 1,
"status": "string",
"strengthsWeaknesses": "string",
"title": "string",
"updatedAt": "string",
"version": 1
}
}a refusal: {"error": "<what a person needs to read>"}. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.
{
"error": "string"
}