Product Statuses

Product status values for v2 — status on Get workflow status and webhooks, productStatus on JSON reports

Product statuses represent the outcome of each product within a workflow. Use the individual product statuses to determine the outcome of each verification or check. Use the workflow status to determine whether processing is in progress, has completed, or has failed.

Note

A product status of completed indicates only that the product finished processing successfully. It does not indicate that the verification outcome is positive or that the client should be approved. Always evaluate the product status, messages, risk results, and report data before making onboarding or payment decisions.


Product status fields

Fourthline exposes the same product status values across APIs, but under different JSON properties.

Use the following property for each endpoint:

Use caseAPIJSON pathProperty
Monitor workflow progressGet workflow statusproducts[].statusstatus
Process webhook eventsv2 webhook payloaddetails.statusstatus
Read final workflow resultsGet report as JSONproducts[].productStatusproductStatus

Status codes

Status codes explain why a product reached a specific status.

They appear in:

  • products[].messages on Get workflow status
  • details.messages on webhooks
  • JSON reports when messages are returned

Codes are grouped by series:

SeriesDomain
1000Validation
2000Address consistency
3000Recoverable sendbacks
4000Rejection
5000Fraud
6000QES processing errors
7000Payments (BAV) errors

The following sections describe the available product status values and associated status codes.


Identity Verification

Applies when the product is IdentityVerification.

Status values

StatusMeaning
newProduct created
pendingVerification in progress
invalid_dataMissing or invalid data
timed_outWorkflow was created but never started within 3 days, or started but not completed within 10 days
inconsistent_dataClient data conflicts with verification results
completedProcessing finished for this product

Status codes

1000: Identity data

CodeMeaning
1000Data successfully validated.
1004person.type is invalid.
1005name is invalid or missing.
1006person.firstName is invalid or missing.
1007person.lastName is invalid or missing.
1008person.gender is invalid or missing.
1009person.placeOfBirth is missing.
1010person.birthDate is invalid or missing.
1011address.country is invalid or missing.
1012emailAndPhone.email is invalid or missing.
1013emailAndPhone.mobile is invalid or missing.
1014address.streetNumber is invalid or missing.
1015address.street is invalid or missing.
1016address.postalCode is invalid or missing.
1017address.city is invalid or missing.
1018kycDocument.documentType is missing.
1021person.nationality is not supported for this document type.
1022ID document is missing.
1022tax.countrySubjectToTaxation is invalid.
1023Selfie photo is missing.
1024ID document photos are missing or inconsistent.
1025One or more riskRequirement parameters are missing.
1031Identity data is too old.
1032Client is not a natural person.
1034Client is underage.
1035Client is ineligible due to an unsupported country of residence.
1036ID document number has already been used.
1037kycDocument.documentNumber is missing.
1100Secondary document is missing.
1201Client was not successfully verified.

Note

See Product-to-workflow mapping for how product statuses map to workflow statuses.


Qualified Electronic Signature

Applies when the product is Signatures.

Status values

StatusMeaning
newProduct created
pendingClient eligible to sign
selfie_requiredAdditional selfie required
user_consent_requiredClient authorization required
confirmation_required*

Signature confirmation required

*Not applicable for Fourthline QTSP

pending_verificationWaiting for Identity Verification
kyc_requiredNew Identity Verification required
invalid_signature*

Certificate details mismatch

*Not applicable for Fourthline QTSP

signedDocuments signed
errorSignature processing failed

Signature timeouts

StatusInactivity timeout
user_consent_required24 hours
selfie_required24 hours
confirmation_required24 hours

Note

Some timeout jobs can run up to 47 hours after the last update, depending on processing windows.

Status codes

CodeMeaning
6001Fatal error while creating the QEC.
6002Error while creating the QEC.
6003Communication error while creating the QEC.
6004Fatal error while signing documents.
6005Error while signing documents.
6006Communication error while signing documents.
6007Pending verification flow only.

Fatal error while signing documents with a provisional signature.
6008Signature flow timed out.

Implementation details: QES in Workflows v2.


Bank Account Verification

Applies when product is Payments.

Status values

StatusMeaning
newProduct created
pendingTransfer or verification in progress
pending_verificationTransfer received; verification running
completedVerification succeeded
failedVerification failed
kyc_requiredIdentity Verification required first

Note

The workflow may still reach the workflow status completed while the product status is kyc_required or failed. See Workflow statuses.

Status codes

CodeMeaning
7000The client didn't complete the Bank Account Verification flow in time and it expired.
7011Fourthline didn't receive the required data to complete the Bank Account Verification flow.
7012The information we received from the bank doesn't match the client's Identity Verification case.
7021A problem occurred with the client's bank.

AML risk codes

Risk codes are reported in Identity Verification messages and reports. They are not product status values.

CodeMeaning
200Low risk
300Medium risk
400High risk
500Unacceptable risk