Resolution links

Resolution links are temporary, secure links you can send to businesses to resolve requirement errors surfaced during verification.

A business account must have fulfilled initial data requirements (via the onboarding API, hosted onboarding, or the Moov Drop) before verification can begin. When Moov cannot verify certain elements of the data provided, requirement errors and document requirements may be returned. Resolution links let end users self-serve by correcting or providing the additional information needed to resolve these errors and enable the capability.

Resolution link notice

Requirement errors may involve KYC-related information such as the business profile details and the identities of all business representatives.

Resolution links automatically expire after 30 days, or you can manually disable them at any time. An account can only have one active resolution link at a time.

Check for requirement errors

Once an account has fulfilled its initial currently due requirements for a capability, Moov attempts to verify the data provided. If verification is unsuccessful, requirement errors will be returned. You can check for requirement errors in the Moov Dashboard or with the API. In the Dashboard, an action required alert displays in the account row. When you open the account's page, a list of what needs to be resolved appears under the account name.

Alert for due items in Dashboard

In the Dashboard

Create, track, and disable resolution links from the account's page in the Dashboard.

On the account's page, click Create resolution link and enter the email address of the recipient, or click Use SMS to enter their phone number instead. Once the resolution link is created, send it via your chosen method.

Recipient experience

Moov sends the recipient a security code to the email address or phone number entered when you created the link. The recipient will need to enter the code to access the resolution link.

Resolution link auth

Once the business opens the link, they'll be able to fill out any missing information or upload any missing documents.

Resolution link notice

In the account view, you can view the resolution link to see the expiration date, or disable the resolution link. Once a link has been disabled, the recipient will no longer be able to access it.

With the API

Use the retrieve a capability or list capabilities endpoints to get requirements.currentlyDue.

Get requirement errors

Request the account's capabilities to get requirement errors.

curl -X GET "https://api.moov.io/accounts/{accountID}/capabilities/" \
  -H "Authorization: Bearer {token}" \
  -H "x-moov-version: v2026.07.00"
 1[
 2  {
 3    "capability": "transfers",
 4    "accountID": "string",
 5    "status": "enabled",
 6    "requirements": {
 7      "currentlyDue": [
 8        "account.tos-acceptance"
 9      ],
10      "errors": [
11        {
12          "requirement": "account.tos-acceptance",
13          "errorCode": "invalid-value"
14        }
15      ]
16    },
17    "disabledReason": "string",
18    "createdOn": "2019-08-24T14:15:22Z",
19    "updatedOn": "2019-08-24T14:15:22Z",
20    "disabledOn": "2019-08-24T14:15:22Z"
21  }
22]

Create a resolution link to send to the end user resolve verification exceptions. The response includes the URL and the expiration date, which is automatically set to 30 days.

Once the link is sent, Moov will send the user an MFA code to access the link.

curl -X POST "https://api.moov.io/accounts/{accountID}/resolution-links" \
  -H "Authorization: Bearer {token}" \
  -H "x-moov-version: v2026.07.00" \
  --data-raw '{
    "recipient": {
      "phone": { 
        "number": "5555555555", 
        "countryCode": "1" 
      }
    }
  }'

Retrieve a specific resolution link or get a list of all resolution links.

curl -X GET "https://api.moov.io/accounts/{accountID}/resolution-links/{resolutionLinkCode}" \
  -H "Authorization: Bearer {token}" \
  -H "x-moov-version: v2026.07.00"

If needed, you can disable a resolution link. Once a link has been disabled, the recipient will no longer be able to access it.

curl -X DELETE "https://api.moov.io/accounts/{accountID}/resolution-links/{resolutionLinkCode}" \
  -H "Authorization: Bearer {token}" \
  -H "x-moov-version: v2026.07.00"