Documentation Index
Fetch the complete documentation index at: https://api-docs.anzi.finance/llms.txt
Use this file to discover all available pages before exploring further.
Credit Status Error Codes
The API returns structured errors with acode and message. This page documents the error codes you may receive when calling Update Credit Status (PUT /guarantees/credit-status) and how to resolve them.
Update Credit Status (PUT /guarantees/credit-status)
These codes are returned in the response body with HTTP status 400 when a credit status update is rejected due to validation or business rules.| Code | Message |
|---|---|
| GUA_44 | Guarantee already has an associated claim or has been novated |
| GUA_45 | Cannot update credit status because it is already in CLAIM_GUARANTEE, NOVATED, REVOKED, or PAID state. These states are final and cannot be modified. |
| GUA_46 | The new outstanding amount cannot be greater than the current outstanding amount. |
| GUA_47 | The outstanding amount cannot exceed the loan amount. |
| GUA_48 | The outstanding amount cannot be negative. |
| GUA_49 | The last payment date must be after the disbursement date. |
| GUA_50 | The new last payment date must be more recent than the currently recorded last payment date. |
| GUA_51 | The last payment date cannot be in the future. |
| GUA_55 | The guarantee was already updated today. |
| GUA_62 | Invalid loan status. Please use one of the valid statuses. |
| GUA_63 | Incomplete payment update: last payment date is required when the outstanding amount changes. |
| GUA_64 | Incomplete payment update: outstanding amount is required when the last payment date changes. |
| GUA_73 | Invalid or malformed date value. The provided date could not be parsed. Please use a valid date format (e.g., YYYY-MM-DD). |
| GUA_74 | For variable premium licenses, please include the guarantee value in the update. |
| GUA_75 | Guarantee value cannot be negative. |
| GUA_77 | On the first balance report, if the last payment date equals the disbursement date, the outstanding balance must equal the original loan amount. |
| GUA_78 | Cannot revoke a guarantee that has already received payments. The credit status can only be set to REVOKED when no payments have been reported. |
| GE_01 | Bad Request |
Cause and resolution
GUA_44 — Guarantee has a claim or was novated
What happened: The guarantee already has an associated claim payment or has been novated to another guarantee. Once a claim or novation exists, the credit status cannot be changed. What to do: This is a terminal condition. If you believe this is incorrect, verify the guarantee’s current state by calling Get Guarantee by UID.GUA_45 — Terminal credit status
What happened: The guarantee’s credit status is already in one of the terminal states:CLAIM_GUARANTEE, NOVATED, REVOKED, or PAID. These states are final and cannot be modified.
What to do: No further credit status updates are possible for this guarantee. If the credit was set to the wrong status, contact your Anzi representative.
GUA_46 — Outstanding increased
What happened: ThecreditPrincipalOutstanding you sent is higher than the value currently recorded on the guarantee. The outstanding balance can only decrease or stay the same over time.
What to do: Send a creditPrincipalOutstanding value that is equal to or less than the current outstanding balance. If the borrower has not made any payment, send the same value as the current outstanding.
GUA_47 — Outstanding exceeds loan amount
What happened: ThecreditPrincipalOutstanding you sent is greater than the original loanAmount of the guarantee.
What to do: The outstanding balance can never exceed the original loan amount. Send a value that is less than or equal to loanAmount.
GUA_48 — Negative outstanding
What happened: ThecreditPrincipalOutstanding is a negative number.
What to do: Send a value of 0 or greater. Use 0 when the credit has been fully paid.
GUA_49 — Payment date before disbursement
What happened: ThecreditLastPaymentDate you sent is before the guarantee’s disbursementDate. A payment cannot occur before the loan was disbursed.
What to do: Send a creditLastPaymentDate that is on or after the disbursementDate.
GUA_50 — Payment date before previous payment date
What happened: ThecreditLastPaymentDate you sent is earlier than the payment date already recorded on the guarantee. Payment dates must move forward in time.
What to do: Send a creditLastPaymentDate that is more recent than (or equal to) the currently recorded date. Check the guarantee’s current creditLastPaymentDate via Get Guarantee by UID.
GUA_51 — Payment date in the future
What happened: ThecreditLastPaymentDate is after today’s date (evaluated in the license’s timezone).
What to do: Send a date that is today or earlier. Future payment dates are not allowed.
GUA_55 — Already updated today
What happened: The credit status for this guarantee was already updated today. Only one credit status update per calendar day is allowed (evaluated in the license’s timezone). What to do: Wait until the next calendar day to submit the update. If this is urgent, contact your Anzi representative.GUA_62 — Invalid credit status value
What happened: Thestatus field contains a value that does not correspond to any valid credit status.
What to do: Use one of the valid values: CURRENT (0), DELINQUENT (1), CLAIM_GUARANTEE (2), NOVATED (3), PAID (4), or REVOKED (5). You can send either the string name or the numeric value.
GUA_63 — Missing payment date
What happened: You sentcreditPrincipalOutstanding but did not include creditLastPaymentDate. Both fields must be provided together.
What to do: Include both creditPrincipalOutstanding and creditLastPaymentDate in the request body.
GUA_64 — Missing outstanding amount
What happened: You sentcreditLastPaymentDate but did not include creditPrincipalOutstanding. Both fields must be provided together.
What to do: Include both creditPrincipalOutstanding and creditLastPaymentDate in the request body.
GUA_73 — Invalid or malformed date
What happened: ThecreditLastPaymentDate value could not be parsed as a valid date. It may be in an unrecognized format, contain invalid characters, or represent an impossible date.
What to do: Send creditLastPaymentDate in a valid date format (e.g., YYYY-MM-DD). Ensure the value is a real calendar date.
GUA_74 — Missing guaranteeValue for variable premium license
What happened: Your license is configured with variable portfolio premiums paid by installment amount (FIRST_LOSS + installmentsEnabled + isPremiumReportedByCollections + INSTALLMENT_AMOUNT strategy), andguaranteeValue was not included in the request.
What to do: Include guaranteeValue in every credit status update request. This value represents the premium amount collected for the current billing cycle.
GUA_75 — Negative guaranteeValue
What happened: TheguaranteeValue field is a negative number.
What to do: Send a guaranteeValue of 0 or greater.
GUA_77 — Invalid first balance report
What happened: This is the first time a balance is being reported for this guarantee, thecreditLastPaymentDate equals the disbursementDate, but the creditPrincipalOutstanding does not equal the original loanAmount. On the first report with no actual payment, the outstanding must match the loan amount.
What to do: If no payment has been made yet, send creditPrincipalOutstanding equal to the guarantee’s loanAmount. If a payment was made, send a creditLastPaymentDate that is after the disbursementDate.
GUA_78 — Cannot revoke guarantee with payments
What happened: You tried to set the credit status toREVOKED, but the guarantee has already received payments (the outstanding principal is less than the original loan amount).
What to do: The REVOKED status is only allowed when no payments have been reported — i.e., the outstanding balance equals the original loan amount. If payments have been made, this guarantee cannot be revoked.
GE_01 — Bad Request (generic)
What happened: The request failed a general validation or business rule that is not mapped to a specific error code. What to do: Review the request body against the Update Credit Status schema. Check required fields, formats, and status transition rules. If the issue persists, use the exactcode and message when contacting support.