Data Migration Guide for Account Owners
Migration steps
There are three main steps to complete the migration:
- Submit required claims for each legal person
- Run verification using the appropriate workflow
- Monitor verification outcome and the legal person's decision
Step 1: Submit required claims
For each legal person missing data, submit the following claims using:
Endpoint: POST /v0/legal-persons/{legal-person-id}/claims
| Claim / Data Field | Applicable To |
|---|---|
| US citizen confirmation | Individuals, Sole Traders, Officers of LTD |
| Tax residencies | Individuals, Sole Traders, LTDs, Officers of LTD |
| Tax Identification Numbers (TINs) | Individuals, Sole Traders, LTDs, Officers of LTD |
| Standard Industrial Classification (SIC) code | Sole Traders and LTDs |
| Business size | Sole Traders and LTDs |
| Business type | Sole Traders |
| Risk rating | Individuals, Sole Traders, LTDs (Reliance only) |
Note: For LTD Companies, you need to submit claims for:
- The company entity itself
- Each officer/director of the company
1. US citizen confirmation
Confirm whether the individual is a US citizen.
Applicable Workflows:
- All Individual workflows (Reliance and Verify)
- All Sole Trader workflows (Reliance and Verify)
- All LTD Company workflows - for Officers/Directors only
Claim Type: us-citizen
Rules:
- Must be a boolean value (
trueorfalse) - Required for all individuals regardless of tax residency
Example:
{
"claim-type": "us-citizen",
"us-citizen?": false
}
2. Tax residencies
Collect all countries where the person or entity is a tax resident.
Applicable Workflows:
- All Individual, Sole Trader, and LTD Company workflows
- For LTDs: applies to both the company and its Officers/Directors
Claim Type: tax-residencies
Rules:
- Must provide at least one country code
- Use ISO 3166-1 alpha-2 country codes (e.g., "GB", "US", "FR")
- Can specify multiple tax residencies
Example:
{
"claim-type": "tax-residencies",
"tax-residencies": ["GB", "US"]
}
3. Tax identification numbers (TINs)
Provide TINs for each country of tax residency.
Who do we need to submit a TIN for?
Applicable Workflows:
- All Individual, Sole Trader, and LTD Company workflows
- For LTDs: applies to both the company and its Officers/Directors
Claim Type: tax-identification-numbers-by-country
Rules:
- Must provide a TIN for each country listed in
tax-residencies - For GB-only tax residents: Send an empty map
{} - Format varies by country (e.g., Social Security Number (US SSN), Numéro Fiscal de Référence (FR SPI))
- Can provide multiple TINs per country if applicable
- Use the country code as the key and an array of TINs as the value
Example for GB and US tax residents (you don't need to provide the TIN for GB tax residents):
{
"claim-type": "tax-identification-numbers-by-country",
"tins-by-country": {
"US": ["123-45-6789"]
}
}
Example for GB tax residents only:
{
"claim-type": "tax-identification-numbers-by-country",
"tins-by-country": {}
}
Example with multiple TINs:
{
"claim-type": "tax-identification-numbers-by-country",
"tins-by-country": {
"US": ["123-45-6789"],
"FR": ["302 321 760 0000", "12345678901"]
}
}
4. Standard industrial classification (SIC) code
Code to classify businesses by their main economic activity.
Applicable Workflows:
- All Sole Trader workflows
- Reliance LTD Company - Account Owners (for the company entity)
- Reliance LTD Company + PSC only - Account Owners (for the company entity)
Claim Type: sic-codes
Rules:
- 5-digit code
- Provided as an array (even for a single code)
Example:
{
"claim-type": "sic-codes",
"sic-codes": ["12345"]
}
5. Business size
Business size classification.
Applicable Workflows:
- All Sole Trader workflows
- All LTD Company workflows (for the company entity, not officers)
Claim Type: business-size
Rules:
- Possible values:
micro- employs fewer than 10 persons and whose annual turnover and/or annual balance sheet total does not exceed EUR 2 million.small- employs fewer than 50 persons and whose annual turnover and/or annual balance sheet total does not exceed EUR 10 millionmedium- employ fewer than 250 persons and have an annual turnover not exceeding EUR 50 million, and/or an annual balance sheet total not exceeding EUR 43 millionlarge- anything above medium categorisation
Example:
{
"claim-type": "business-size",
"business-size": "small"
}
6. Business type
Business type classification for Sole Trader customers.
Applicable Workflows:
- All Sole Trader workflows
Claim Type: business-type
Rules:
- Value:
sole-trader
Example:
{
"claim-type": "business-type",
"business-type": "sole-trader"
}
7. Risk rating (Reliance only)
Risk rating defined for your customer.
Applicable Workflows:
- Reliance Individual - Account Owners
- Reliance Sole Trader - Account Owners
- Reliance LTD Company - Account Owners (for the company entity)
- Reliance LTD Company + PSC only - Account Owners (for the company entity)
Claim Type: external-risk-rating
Rules:
- Possible values:
low-riskmedium-riskhigh-riskprohibited-risk
Example:
{
"claim-type": "external-risk-rating",
"external-risk-rating": "low-risk"
}
Step 2: Run verification
After submitting all required claims, you must run a verification to validate the new information.
2.1 Retrieve your workflows
First, retrieve and cache your workflow URLs. If you've already cached your workflows, you'll need to retrieve them again after the new Account Owners workflows have been provisioned. These workflow URLs remain constant after retrieval and should be stored for reuse throughout the migration process.
Endpoint: GET /v0/organizations/{organization-id}/workflows
Example:
curl "https://api.griffin.com/v0/organizations/${ORGANIZATION_ID}/workflows" \
-H "Authorization: GriffinAPIKey $GRIFFIN_API_KEY"
Response:
{
"workflows": [
{
"workflow-url": "/v0/workflows/wf.Ul-1r4gRWfOFxHJsHWghcA",
"display-name": "Individual - Account Owners",
"legal-person-type": "individual"
}
]
}
2.2 Workflow selection guide
Choose the correct workflow:
| If you use this workflow | Now you need to use this workflow |
|---|---|
| Reliance LTD Company | Reliance LTD Company - Account Owners |
| Reliance LTD Company - PSC only | Reliance LTD Company + PSC only - Account Owners |
| Reliance Sole Trader | Reliance Sole Trader - Account Owners |
| Reliance Individual | Reliance Individual - Account Owners |
| LTD Company | LTD Company - Account Owners |
| LTD Company Landlord | LTD Company + Landlord - Account Owners |
| LTD Company Property | LTD Company + Property - Account Owners |
| Sole Trader Property | Sole Trader + Property - Account Owners |
| Sole Trader Default | Sole Trader - Account Owners |
| Individual + Bank Verification | Individual + Bank Verification - Account Owners |
| Individual Landlord | Individual + Landlord - Account Owners |
| Individual Default | Individual - Account Owners |
2.3 Submit verification
Submit the legal person for re-verification using the appropriate Account Owners workflow. This re-verification will not impact your customers' usage of the platform; they will continue to make payments and open bank accounts while the verification is processing. Be sure to save the verification-url returned in the response for monitoring purposes.
Endpoint: POST /v0/legal-persons/{legal-person-id}/verifications
Note: For LTD Companies, you need to run verification only for the company entity itself.
Example Request:
curl -X POST "https://api.griffin.com/v0/legal-persons/lp.Kfd8_BhpSdCqFKRYXa8d45/verifications" \
-H "Authorization: GriffinAPIKey $GRIFFIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow-url": "/v0/workflows/wf.Ul-1r4gRWfOFxHJsHWghcA"
}'
Example Response:
{
"created-at": "2026-01-21T10:47:51.959Z",
"display-name": "DAVIS, Henry",
"legal-person-type": "individual",
"legal-person-url": "/v0/legal-persons/lp.Kfd8_BhpSdCqFKRYXa8d45",
"updated-at": "2026-01-21T10:47:51.959Z",
"verification-status": "pending",
"verification-url": "/v0/verifications/vn.BhpS_dCqFKRYXa8d457fgA",
"workflow-url": "/v0/workflows/wf.W1NwgL6sXCmB3u9cPiJoKQ"
}
Step 3: Monitor verification and decision
The verification process validates the submitted claims. You must monitor both the verification status and the legal person's application status to confirm successful migration. Wait for the verification status to reach "checks-complete", then monitor the legal person's application status until it shows "accepted".
Verification status values
| Status | Description |
|---|---|
pending | Verification created but processing has not begun |
in-progress | Verification checks are actively being performed |
checks-complete | Verification has successfully completed all required checks |
checks-declined | Verification was terminated due to failing one or more checks |
failed | An internal system error occurred during verification |
Application status values
| Status | Description |
|---|---|
submitted | Application has been submitted |
referred | Application sent to manual review |
accepted | Application accepted |
declined | Application declined |
errored | Application is in an errored state |
For more details, check the onboarding guides.
Migration checklist
Use this checklist to track migration progress for each legal person.
For each legal person requiring migration:
Step 1: Submit required claims
Submit all applicable claims via POST /v0/legal-persons/{legal-person-id}/claims:
-
us-citizen(for Individuals, Sole Traders, Officers) -
tax-residencies(all entity types) -
tax-identification-numbers-by-country(all entity types) -
sic-codes(Sole Traders and LTDs only) -
business-size(Sole Traders and LTDs only) -
business-type(Sole Traders only) -
external-risk-rating(Reliance workflows only)
Step 2: Run verification
- Retrieve workflow URLs:
GET /v0/organizations/{org-id}/workflows - Select the appropriate workflow
- Submit verification:
POST /v0/legal-persons/{legal-person-id}/verifications - Save returned
verification-url
Step 3: Monitor completion
- Monitor verification status (polling or webhook)
- Wait for
verification-status: "checks-complete" - Monitor legal person for final decision
- Confirm
application-status: "accepted"
Need help?
- Griffin API Reference - Complete API documentation
- Onboarding Models Guide - Understanding Verify vs Reliance
- Onboarding Guides - Step-by-step onboarding instructions
- Claims Documentation - Detailed claim specifications
- Webhook Setup Guide - Configure webhooks for real-time updates
- Griffin Slack Community - Join our developer community