Factuarea APIDevelopers

Integration error codes

Every public API error code emitted by Integration, with its HTTP status, its type and a page per code.

Error codes emitted by Integration. Each code links to its own page with the cause and the action to take.

CodeTypeHTTPDescription
charge_rule_invalidinvalid_request_error422The rule is inconsistent: the condition, the outcome, the not-invoiced reason, the concept or the VAT rate do not fit together or are not valid. The conflicting field is reported in param.
charge_rule_limit_reachedinvalid_request_error422The Stripe account already has the maximum number of charge treatment rules.
charge_rule_not_foundnot_found_error404The charge treatment rule does not exist on the given Stripe account or does not belong to your company.
connect_return_domain_already_existsconflict_error409The host you are trying to add is already one of the return domains of your account. It is compared normalized (lower case, no port or path), so App.Example.com and app.example.com are the same domain.
connect_return_domain_limit_reachedinvalid_request_error422Your account already has the maximum number of return domains it allows, and the new one was not saved. The cap is per account and counts every registered domain.
connect_return_domain_not_foundnot_found_error404The return domain named in the path does not exist in your account, or belongs to another one: both answers are identical on purpose so the domains of other accounts are never revealed.
connect_return_url_not_allowedinvalid_request_error422The host of the return_url is not among the return domains of the account of the key you use to start the Stripe connection. Only https addresses whose exact host (no wildcards) is registered on that account are accepted, so nobody can send the person to a site you do not control.
invalid_connection_methodinvalid_request_error422The connection method does not exist for this provider.
platform_account_subscriptions_owned_by_billinginvalid_request_error422The connected Stripe account is the platform's own account: Factuarea's subscription fees are invoiced by Billing directly, so that account does not support subscription autoinvoicing (subscription_autoinvoicing_enabled).
shopify_api_version_expiredapi_error500The Admin API version this connector speaks to the shop with is no longer supported. Shopify does not return an error when that happens: it serves the oldest stable version with a 200, so the breakage shows up as fields quietly missing from the response.
shopify_credentials_rejectedinvalid_request_error422The shop answered and rejected the access token, or there was none to use. In Shopify the token comes from authorising the app, and the merchant can revoke that authorisation from their admin at any time, so a token that worked yesterday may not work today without anyone changing a setting.
shopify_store_unreachableapi_error502The shop did not answer: the request timed out, the transport failed, Shopify returned an error of its own, or the Admin API query cost budget was exhausted. What is failing sits upstream, not in the credential.
store_already_connectedinvalid_request_error422That shop is already connected to your company under the same provider. The pair provider plus remote shop is unique per company, so connecting it twice would leave two stores ingesting the same orders and invoicing them twice.
store_external_id_mismatchinvalid_request_error422The remote identifier you are sending does not match any shop your company has authorised for that integration. With providers that sign their notifications using the application secret — Shopify — that identifier decides which company each sale is invoiced to, so only a shop that went through the authorisation flow is accepted.
store_not_foundnot_found_error404The identifier does not resolve to any connected store of the authenticated company. A store belonging to another company answers exactly the same way, so the response never reveals whether it exists elsewhere.
store_url_not_allowedinvalid_request_error422The base address of the shop is not an authorised outbound destination for your company. Reading orders back from the shop would open a connection to a host nobody approved.
stripe_account_linked_elsewhereconflict_error409That Stripe account is already linked and active in another Factuarea company. An active Stripe account can only belong to one company.
stripe_oauth_exchange_failedinvalid_request_error422Stripe did not confirm the account authorization: the authorization code expired, was already used or was denied.
woocommerce_credentials_rejectedinvalid_request_error422The shop answered and rejected the credential, or the credential could not be used at all: the key is missing, the secret is missing, or the base address is not https. Authentication travels in the header over HTTPS, so a shop published in clear text would hand over both pieces on the first hop, which is why it is rejected before anything leaves.
woocommerce_rest_route_missinginvalid_request_error422The shop answered, but its REST API is not published: WordPress replied that the route does not exist. The usual cause is permalinks left on the plain setting, so /wp-json/ is not served. The credential may be perfectly valid.
woocommerce_store_unreachableapi_error502The shop did not answer: the request timed out, the transport failed, or its hosting returned an error of its own. What is failing sits upstream, in the merchant's installation, not in the platform and not in the credential.

On this page

Need a hand?Contact support