Skip to main content

Errors

When you encounter an error, we’ll try to give you as much detail as possible about what went wrong and how you can fix it.

HTTP codes

The table below shows a list of possible 4xx errors.

info

If you encounter a 5xx error, check our status page. It’s safe to assume we’re already on it, but you can always contact us at support@griffin.com.

CodeDescription
400Bad request. Either the request body, the path, or both contain an error. See more detail on bad requests below.
401Request not authenticated. A valid API key was not provided or the HTTP message signature could be verified.
403Forbidden. The request is authenticated but is not allowed to access the resource. The response body will specify the role you need to perform this action.
404Not found. The resource does not exist or was deleted, or you are not a member of the organisation that owns the resource.
405Method not allowed. The HTTP request method used is not supported for the requested endpoint. The Allow header in the response shows which methods are allowed.
406Not acceptable. The Accept header specifies a resource format that the server cannot produce. Check the supported media types for the requested resource.
409Conflict. The operation conflicts with the current state of the resource so it cannot continue.
422Unprocessable entity. The request was understood, but failed for other reasons. See more detail on common 422 errors below.
415Unsupported media type. The Content-Type for the request body is not recognised. Use Content-Type: application/json to encode the request body.
429Too many requests. Your organisation has reached the limited of 50 in-flight API requests, OR more than three concurrent requests to submit a payment from a single bank account. Allow your outstanding requests to complete before retrying.

Bad requests

400 responses will try to explain the cause and location of the error. The source refers to the JSON pointer location in the body that caused the error. In general, we follow the JSON format for error processing, but we don’t adhere to it strictly.

CauseDetail
Bad requestThe request body could not be parsed correctly.
Missing fieldA required field was not in the request.
Incorrect typeThis field does not have the correct type. The detail will explain the expected type.
Invalid enum valueThe field is an enumeration that only allows a specific set of values.
Invalid dateThis field must be formatted as an ISO 8601 date.
Invalid datetimeThis field must be formatted as an ISO 8601 datetime.
Incomplete valueThis field cannot be empty.
Bad path parameterThe request path does not conform to the expected form.

422 errors

Account closing errors

Calling close-account-url may return a 422 error for the following reasons.

CauseDetail
account-not-foundCould not find the account. Double-check the account details.
account-already-closingThis account is already closing. If the account is stuck in the closing state, make sure the balance is zero. Once the balance is zero, the account should automatically move to the closed state.
account-already-closedThis account has already been closed.
account-not-openThis account is still in the opening state. It cannot be closed until
primary-account-not-closeableThe account is a primary account, which cannot be closed.

Payment errors

Calling create-payment-url or submit-payment-url may return a 422 error for the following reasons.

CauseDetail
account-restrictedThe account is restricted from making payments right now.
bank-account-closedThe bank account associated with this payment is closed.
insufficient-fundsThe account does not have enough funds to cover the payment. Deposit more funds and then resubmit.
payment-amount-exceeds-scheme-limitThe payment amount is greater the maximum limit for this payment scheme. Change the amount or resubmit the request using another scheme.
payee-deactivatedThe payee for this payment has been deactivated.