---
title: "Run a batch of analyses."
method: POST
path: "/wallet"
tags: ["Wallet Analyses"]
---

# Run a batch of analyses.

`POST /wallet`

## Request

- Base URL: `https://aml-api.elliptic.co/v2`
- URL: `https://aml-api.elliptic.co/v2/wallet`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-access-key` and API key in header `x-access-sign` and API key in header `x-access-timestamp`

Performs a batch of analyses (the max batch size is 100). Responses will contain IDs of the newly created analysis.

## Request body

- union[]: the analyses to request
  - union
    - HolisticWalletAnalysisRequest
      - `subject` object, required
        - `asset` 'holistic', required: For holistic screening this should be set to holistic
        - `blockchain` 'holistic', required: For holistic screening this should be set to holistic
        - `type` 'address', required: the type of subject
        - `hash` string, required: the address hash
      - `type` 'wallet_exposure', required: The type of analysis. Currently it is wallet_exposure
      - `customer_reference` string: a reference for the customer. Will create a new customer if one with a matching reference does not exist
    - UTXOBasedWalletAnalysisRequest
      - `subject` object, required
        - `asset` 'BCH' | 'BTC' | 'ZEN' | 'ZEC', required: the asset (either BCH, BTC (Lightning), ZEN or ZEC) involved in the event
        - `blockchain` 'bitcoin_cash' | 'lightning' | 'horizen' | 'zcash', required: the blockchain (either bitcoin_cash, lightning, horizen or zcash) of the asset submitted
        - `type` 'address', required: the type of subject
        - `hash` string, required: the address hash
      - `type` 'wallet_exposure', required: The type of analysis. Currently it is wallet_exposure
      - `customer_reference` string: a reference for the customer. Will create a new customer if one with a matching reference does not exist

## Response `200`

Successful analysis batch response

- object[]: details of each submitted analysis
  - `id` string, UUIDv4, required
  - `type` 'wallet_exposure', required: The type of analysis. Currently it is wallet_exposure
  - `subject` AnalysisSubject, required
    - `asset` string, required: the asset involved in the event.
    - `blockchain` string: The blockchain the asset/address belongs to (optional)
    - `type` string, required: the type of subject. Currently, only 'transaction' is supported
    - `hash` string, required: the transaction hash
    - `output_type` 'address' | 'indices': which output type you are using to specify the output(s) you wish to analyse (BTC/LTC/BCH only)
    - `output_address` string: the address hash when using output_type address
    - `output_indices` number[]: the indices of outputs to be analysed when using output_type indices
    - `log_index` number: the log index of an ERC20 transacation
  - `analysed_by` object, required: the actor who requested the analysis
    - `id` string, UUIDv4: the actor id
  - `analysed_at` string, date-time, required: the timestamp of when this analysis was completed
  - `customer` object
    - `id` string, UUIDv4, nullable: the UUIDv4 of the customer this analysis is associated with
    - `reference` string: the string reference that has been given to this customer. Can be empty
  - `team_id` string, UUIDv4: UUIDv4 identifier of the team the user belongs to
  - `created_at` string, date-time: ISO date time with time zone (UTC) of when the analysis was first analysed
  - `updated_at` string, date-time: ISO date time with time zone (UTC) of when the wallet analysis was last updated
  - `process_status` 'running' | 'complete' | 'error': the process status ('running','complete','error')
  - `process_status_id` 1 | 2 | 3: The screening process status. - A 1 number means the process status is running. - A 2 number means the process status is completed. - A 3 indicates the process status has an error.
  - `error` object: Property containing information about a failed screening, null unless process_status = 'error'
    - `message` string, nullable: error message
  - `workflow_status` WorkflowStatus (unresolved $ref)
  - `workflow_status_id` WorkflowStatusId (unresolved $ref)

## Other responses

- `207`: Contains a partial error
- `400`: Bad Request
- `401`: Not authenticated
- `403`: Not authorized
- `500`: Server Error

---

[API](https://skmtc.dev/elliptic/apis/aml-api-v2.md) - [All operations](https://skmtc.dev/elliptic/apis/aml-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/elliptic/apis/aml-api-v2/revisions/e0bcbfe65e14?raw)
