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
completedindicates 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 case | API | JSON path | Property |
|---|---|---|---|
| Monitor workflow progress | Get workflow status | products[].status | status |
| Process webhook events | v2 webhook payload | details.status | status |
| Read final workflow results | Get report as JSON | products[].productStatus | productStatus |
Status codes
Status codes explain why a product reached a specific status.
They appear in:
products[].messageson Get workflow statusdetails.messageson webhooks- JSON reports when messages are returned
Codes are grouped by series:
| Series | Domain |
|---|---|
1000 | Validation |
2000 | Address consistency |
3000 | Recoverable sendbacks |
4000 | Rejection |
5000 | Fraud |
6000 | QES processing errors |
7000 | Payments (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
| Status | Meaning |
|---|---|
new | Product created |
pending | Verification in progress |
invalid_data | Missing or invalid data |
timed_out | Workflow was created but never started within 3 days, or started but not completed within 10 days |
inconsistent_data | Client data conflicts with verification results |
completed | Processing finished for this product |
Status codes
1000: Identity data
| Code | Meaning |
|---|---|
1000 | Data successfully validated. |
1004 | person.type is invalid. |
1005 | name is invalid or missing. |
1006 | person.firstName is invalid or missing. |
1007 | person.lastName is invalid or missing. |
1008 | person.gender is invalid or missing. |
1009 | person.placeOfBirth is missing. |
1010 | person.birthDate is invalid or missing. |
1011 | address.country is invalid or missing. |
1012 | emailAndPhone.email is invalid or missing. |
1013 | emailAndPhone.mobile is invalid or missing. |
1014 | address.streetNumber is invalid or missing. |
1015 | address.street is invalid or missing. |
1016 | address.postalCode is invalid or missing. |
1017 | address.city is invalid or missing. |
1018 | kycDocument.documentType is missing. |
1021 | person.nationality is not supported for this document type. |
1022 | ID document is missing. |
1022 | tax.countrySubjectToTaxation is invalid. |
1023 | Selfie photo is missing. |
1024 | ID document photos are missing or inconsistent. |
1025 | One or more riskRequirement parameters are missing. |
1031 | Identity data is too old. |
1032 | Client is not a natural person. |
1034 | Client is underage. |
1035 | Client is ineligible due to an unsupported country of residence. |
1036 | ID document number has already been used. |
1037 | kycDocument.documentNumber is missing. |
1100 | Secondary document is missing. |
1201 | Client 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
| Status | Meaning |
|---|---|
new | Product created |
pending | Client eligible to sign |
selfie_required | Additional selfie required |
user_consent_required | Client authorization required |
confirmation_required* | Signature confirmation required *Not applicable for Fourthline QTSP |
pending_verification | Waiting for Identity Verification |
kyc_required | New Identity Verification required |
invalid_signature* | Certificate details mismatch *Not applicable for Fourthline QTSP |
signed | Documents signed |
error | Signature processing failed |
Signature timeouts
| Status | Inactivity timeout |
|---|---|
user_consent_required | 24 hours |
selfie_required | 24 hours |
confirmation_required | 24 hours |
Note
Some timeout jobs can run up to 47 hours after the last update, depending on processing windows.
Status codes
| Code | Meaning |
|---|---|
6001 | Fatal error while creating the QEC. |
6002 | Error while creating the QEC. |
6003 | Communication error while creating the QEC. |
6004 | Fatal error while signing documents. |
6005 | Error while signing documents. |
6006 | Communication error while signing documents. |
6007 | Pending verification flow only. Fatal error while signing documents with a provisional signature. |
6008 | Signature flow timed out. |
Implementation details: QES in Workflows v2.
Bank Account Verification
Applies when product is Payments.
Status values
| Status | Meaning |
|---|---|
new | Product created |
pending | Transfer or verification in progress |
pending_verification | Transfer received; verification running |
completed | Verification succeeded |
failed | Verification failed |
kyc_required | Identity Verification required first |
Note
The workflow may still reach the workflow status
completedwhile the product status iskyc_requiredorfailed. See Workflow statuses.
Status codes
| Code | Meaning |
|---|---|
7000 | The client didn't complete the Bank Account Verification flow in time and it expired. |
7011 | Fourthline didn't receive the required data to complete the Bank Account Verification flow. |
7012 | The information we received from the bank doesn't match the client's Identity Verification case. |
7021 | A 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.
| Code | Meaning |
|---|---|
200 | Low risk |
300 | Medium risk |
400 | High risk |
500 | Unacceptable risk |
Updated 2 days ago