Falu uses HTTP response status codes to indicate the success or failure of an API request. If a request fails, Falu returns an error using the appropriate status code.
Generally, there are three status code ranges to expect:
2xx
success status code confirm that a request worked as expected.4xx
error status codes indicate and error because of the information provided (e.g. a required parameter was omitted, or a referenced object does not exist)5xx
error status codes are rare and indicate an error within Falu's servers.
Some 4xx
errors that could be handled programmatically (e.g. insufficient_balance) include a detail - a short string with a brief explanation -as a value for title
. Below is a list of possible error codes that can be returned, along with additional information about how to resolve them. Falu server strictly follows the Problem Details for HTTP APIs standard - RFC7808 for these type of errors.
For convenience, these type of error's type
property is a direct link to the specific error code it corresponds to.
invalid_workspace_state
The workspace is in an invalid state and is not allowed to make a request in live mode. This happens when the workspace has been suspended due to billing issues. It can also happen if the workspace has be suspended due to misuse or fraud investigations.
features_disabled
The request or operation requires one or more features that are currently disabled or have not been enabled for the workspace.
invalid_settings
The settings required for a given request in the workspace are invalid, malformed or the relevant lack information required to support the request.
idempotency_error
Idempotency cannot be performed on this request. This is usually because the request body does not match the one from an earlier request and hence cannot be made idempotent.
idempotency_key_in_use
The idempotency key provided is currently being used in another request. This occurs if your integration is making duplicate requests simultaneously.
insufficient_balance
The account does not have enough funds to perform the request. See the error detail
for more information.
object_redacted
The object targeted has already been redacted thus cannot be updated.
object_redaction_in_progress
Redaction for the object targeted has already begun and cannot be initiated again.
identity_verification_not_found
The target identity verification could not be found.
identity_verification_cannot_be_modified
The identity verification cannot be updated. This happens when status is not input_required
. Try to cancel or redact instead.
identity_verification_cannot_be_cancelled
The identity verification cannot be cancelled. This happens when status is not input_required
. You should wait for processing to complete or to fail and return to the input_required
state.
identity_verification_cannot_be_redacted
The identity verification cannot be redacted. This happens when status is not input_required
or verified
. You should wait for processing to complete or to fail and return to the input_required
state.
customer_not_found
The target customer could not be found.
event_not_found
The target event could not be found.
event_delivery_cannot_be_retried
The event delivery cannot be retried. See the error detail
for more information.
file_not_found
The target file could not be found.
file_expired
The file has already expired and purged. It cannot be downloaded or be used to create a link.
file_type_not_allowed
The type of content in the file is not allowed. Allowed types are: application/pdf
, image/png
, image/jpeg
, and text/csv
.
file_invalid
The file has invalid content. This varies depending on content. See the error detail
for more information.
file_cannot_be_downloaded
The purpose for which the file was create does not allow downloading or creation of unauthenticated links.
file_link_not_found
The target file link could not be found.
file_link_cannot_be_updated
The target file link cannot be updated. This happens when the file link has already expired. You should instead create a new file link.
payment_not_found
The target payment could not be found.
payment_cannot_be_refunded
The specified payment cannot be refunded because it has already been refunded, is in the process of being refunded or is not in a refundable state
payment_ongoing_for_target
The payment cannot be created/initiated because there is another payment for the same type targeted at the same customer in your workspaces that is still pending. You should wait for the pending one to either fail or succeed before trying again.
payment_authorization_not_found
The target payment authorization could not be found.
payment_authorization_closed
The payment authorization has already been closed thus cannot be approved or declined. Payment authorizations can only be approved/declined when in pending state.
payment_refund_not_found
The target payment refund could not be found.
transfer_not_found
The target transfer could not be found.
transfer_cannot_be_reversed
The specified transfer cannot be reversed because it has already been reversed, is in the process of being reversed or is not in a reversible state
transfer_reversal_not_found
The target transfer reversal could not be found.
message_not_found
The target message could not be found.
message_cannot_be_cancelled
The message cannot be cancelled. This happens when status is not accepted
indicating the messages has already been sent or is currently being sent.
message_cannot_be_redacted
The message cannot be redacted. This happens when status is sending
. You should wait for sending to complete or to fail.
The media for the message is invalid. This happens when the file provided is of a different purpose or the URL provided contains a file that does not meet the requirements for message media.
message_batch_not_found
The target message batch could not be found.
message_batch_cannot_be_cancelled
The message batch cannot be cancelled. This happens when status is not accepted
indicating the messages has already been sent or is currently being sent.
message_batch_cannot_be_redacted
The message batch cannot be redacted. This happens when status is sending
. You should wait for sending to complete or to fail.
message_sender_not_found
The target message sender could not be found.
message_sender_alphanumeric_in_use
The alphanumeric value is already in use by another message sender in the message stream.
message_sender_cannot_be_modified
The message sender cannot be updated or deleted. See the error detail
for more information.
message_stream_not_found
The target message stream could not be found.
message_stream_name_in_use
The name is already in use by another message stream in the workspace.
message_stream_archived
The message stream targeted is archived and cannot be used to send messages. Either unarchive it or use another message stream.
message_stream_cannot_be_modified
The message stream cannot be updated or deleted. Usually this applies for default transactional streams.
message_suppression_not_found
The target message suppression could not be found.
message_suppression_cannot_be_modified
The message suppression cannot be updated or deleted. See the error detail
for more information.
message_template_not_found
The target message template could not be found.
message_template_content_is_invalid
The content of the message template is invalid.
message_template_alias_in_use
The alias is already in use by another message template in the workspace.
messages_limit_exceeded
The total number of messages to be sent exceed the allowed maximum of 1,000. This happens when sending batch messages in which case, you should check your request to ensure total number of destinations do not exceed the limit.
messages_suppressions_flagged
The message(s) cannot be sent because one of the phone number destinations is suppressed. Either delete the suppression and resubmit the request or remove the flagged destination as described in the error detail
.
webhook_endpoint_not_found
The target webhook endpoint targeted could not be found.