Skip to main content

Submit External Ownership Verification

Deprecated

This endpoint is deprecated. Use POST /v3/customers/{customer_id}/kyb/owners/{owner_id}/external-verification. The files are uploaded first through owner documents, and the owner is no longer approved on the spot: it is verified with the business. It keeps working while integrations move; see Versioning.

This endpoint submits an ownership verification from an external provider (e.g. Jumio, Onfido) by directly uploading identity documents and raw verification data, instead of sending the owner through the verification link.

Takes a workspace-scoped API key. An account-scoped key is refused with 403.

Prerequisites​

  • The ownership data must be submitted first using the Submit Business Ownership endpoint.
  • The owner must not already be approved or in_review.

Technical Details​

  • Status Change: The owner status changes directly to approved.
  • No verification link is generated — documents are uploaded directly.
Authorization:

Every request is signed with your API key: a short-lived JWT, signed with your private key, sent in one header on /v3/* and /api/v2/* alike.

Headers:
Authorization: APIKey {SIGNED_JWT}

How to build and sign the JWT: Authentication.

Endpoint

POST

/api/v2/kyb/banking-verification/business/ownership/{ownerId}/submit-external-verification

Content Type​

multipart/form-data

Path Parameters​

ParameterTypeDescription
ownerIdstring (uuid)Required. The owner ID to submit verification for.

Request Body Schema​

FieldTypeDescription
facebinaryRequired. Selfie image of the owner.
documentFrontbinaryRequired. Front of the ID document.
documentBackbinaryBack of the ID document (optional).
rawstring (JSON)Required. Raw verification JSON from the external provider. Must be valid JSON.
providerstringRequired. Source provider name (e.g. jumio, onfido).

Response Sample​

{
"ownerId": "00000000-0000-0000-0000-000000000001",
"status": "approved",
"firstName": "John",
"lastName": "Wick",
"email": "jwick@blockwyre.com",
"phone": "+1234567890",
"dateOfBirth": "1990-05-15",
"documentId": {
"idNumber": "123456789",
"idDocumentType": "passport",
"idIssueDate": "2020-01-01",
"idExpiryDate": "2030-01-01",
"idCountryOfIssue": "US",
"nationality": "US"
},
"address": {
"address1": "123 Main St",
"address2": "Apt 4B",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "US"
},
"ownershipPercentage": 100,
"role": "owner"
}

Error Responses​

Owner Already Approved or In Review​

If the owner is already in approved or in_review status, you will receive a 409 Conflict error.

Invalid Raw JSON​

If the raw field is not valid JSON, you will receive a 400 Bad Request error.

Support and Resources​

If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.

Stay Updated​

Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:

We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!