> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dakota.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Completing an Imported Application

> Fill in the Dakota-specific fields on an application created from a Sumsub or Persona share token, and submit it.

Importing a share token creates a customer and an application with the identity data already filled in. A few fields aren't part of any identity verification, so they still need supplying before the application can be submitted.

This applies equally to applications imported from [Sumsub](/documentation/sumsub-token-sharing) and [Persona](/documentation/persona-token-sharing) — the completion flow is the same for both.

<Info>
  **Importing does not skip verification; it pre-fills it.** Once submitted, the application goes through Dakota's normal compliance review like any other.
</Info>

# What's typically still needed

* Employment status, purpose of account, source of wealth
* Source-of-wealth documents
* Attestations (terms of service, privacy policy, information accuracy)
* SSN, if the applicant is a US person and it wasn't carried across
* Proof of address, if none transferred

# Two ways to complete it

**Send the customer the application link** and they fill it in on Dakota, **or** send the data over the API and keep the customer inside your own app. The rest of this page covers the API route.

# 1. Get an application token

These endpoints authenticate with an **application token**, not your API key. Fetch the customer after the import and read it from `application_url`:

```bash cURL theme={null}
curl 'https://api.platform.dakota.xyz/customers/{customer_id}' \
  -H 'X-API-Key: <YOUR_API_KEY>'
```

```json theme={null}
{
  "id": "3HBAh6bscb6DSvUQw5WLF2qoezu",
  "application_id": "3HBAh7qm7ZaJq8l4gvAyHlds4JB",
  "application_url": "https://platform.dakota.xyz/applications/3HBAh7qm7ZaJq8l4gvAyHlds4JB?token=..."
}
```

Take the `token` query parameter and send it as `x-application-token` on the calls below.

# 2. Send the Dakota-specific fields

```http theme={null}
PUT /applications/{application_id}/individual-details
```

```bash cURL theme={null}
curl -X PUT 'https://api.platform.dakota.xyz/applications/{application_id}/individual-details' \
  -H 'x-application-token: <APPLICATION_TOKEN>' \
  -H "X-Idempotency-Key: $(uuidgen)" \
  -H 'Content-Type: application/json' \
  -d '{
    "employment_status": "employed",
    "purpose_of_account": ["investing"],
    "source_of_wealth": ["savings", "employment"]
  }'
```

<Warning>
  **`X-Idempotency-Key` is required.** Without it the request is rejected before the body is read.
</Warning>

Values must be exactly one of:

| Field                        | Accepted values                                                                                                                                                                                                                                  |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `employment_status`          | `employed`, `self_employed`, `unemployed`, `student`, `retired`                                                                                                                                                                                  |
| `purpose_of_account` (array) | `investing`, `storage_of_funds_or_digital_assets`, `sending_and_receiving_payments`, `making_online_payments`, `trading_on_other_platforms`                                                                                                      |
| `source_of_wealth` (array)   | `employment`, `savings`, `investments`, `inheritance`, `gift`, `loan`, `sale_of_assets`, `retirement_income`, `benefits`, `court_settlement`, `insurance_claim`, `redundancy_severance`, `family_funds`, `lottery_winnings`, `gambling_winnings` |

`purpose_of_account` and `source_of_wealth` accept multiple values.

<Info>
  **Employment status is required before an application can be submitted**, so it's worth sending as part of your import routine rather than leaving it for later.
</Info>

For US persons, `ssn` can be sent on the same call when it wasn't carried across from the source.

# 3. Upload any remaining documents

Source-of-wealth documents, and proof of address if none transferred, go through the standard [document upload endpoints](/api-reference/onboarding/upload-an-individual-document).

# 4. Attestations

Attestations are **not** carried across by a share token, and they can't be. An attestation you already hold records consent to *your* terms; your customer still has to accept **Dakota's** legal agreements before the application can be submitted.

<Warning>
  **You are responsible for presenting the documents.** If you collect consent in your own interface rather than sending the customer to Dakota's hosted form, you must show your end users each agreement and record their acceptance honestly. Each attestation stores the attestor's name, IP address and the time they accepted.
</Warning>

See [Submitting Attestations via API](/documentation/customer-onboarding#submitting-attestations-via-api) in the Customer Onboarding guide for worked examples of the calls. The section directly above it lists every agreement, with a link to each document your customer must be shown.

```http theme={null}
POST /applications/{application_id}/attestations
```

<Warning>
  **Submit `e_sign` first.** Every other attestation is rejected until e-sign consent is recorded, and each must carry a timestamp later than it.
</Warning>

Types: `e_sign`, `terms_of_service`, `privacy_policy`, `funds_transfer_agreement`, `lead_bank_privacy_policy`, `information_accuracy`.

See the [Submit Attestation](/api-reference/onboarding/submit-an-attestation-for-an-application) reference for the full request schema.

If you would rather not present the agreements yourself, send the customer the application link and they will accept them on Dakota.

# 5. Submit

Once every required field is populated, submit the application as you would any other.

# What's Next

* [Sumsub Token Sharing](/documentation/sumsub-token-sharing) — importing from a Sumsub donor
* [Persona Token Sharing](/documentation/persona-token-sharing) — importing from a Persona source organization
* [Webhooks](/documentation/webhooks) — get notified as imported applications progress through review
