> For the complete documentation index, see [llms.txt](https://docs.ospree.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ospree.io/developers/accounts-directory/openapi/vasps.md).

# VASPs

The VASP directory used to identify counterparty institutions.

## List VASPs

> Retrieve a paginated and sortable list of VASP (Virtual Asset Service Provider) records from the directory.

```json
{"openapi":"3.1.0","info":{"title":"Ospree Directory API","version":"2.0.0"},"tags":[{"name":"VASPs","description":"The VASP directory used to identify counterparty institutions."}],"servers":[{"url":"https://dev-api.ospree.io","description":"Development"}],"security":[{"HTTPBearer":[]}],"components":{"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"schemas":{"ApiFailResponse":{"properties":{"status":{"type":"string","title":"Status","default":"fail"},"message":{"type":"string","title":"Message"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code","description":"Stable, machine-readable error code, e.g. `auth.unauthenticated`. Additive-only."},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"}},"type":"object","required":["message"],"title":"ApiFailResponse","description":"*summary*: Api fail response model"},"ApiErrorResponse":{"properties":{"status":{"type":"string","title":"Status","default":"error"},"code":{"type":"integer","title":"Code","description":"Duplicates the HTTP status; use `error_code`. Removed in v3."},"message":{"type":"string","title":"Message"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code","description":"Stable, machine-readable error code, e.g. `auth.unauthenticated`. Additive-only."},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"}},"type":"object","required":["code","message"],"title":"ApiErrorResponse","description":"*summary*: Api error response model"}}},"paths":{"/api/v2/directory/vasps":{"get":{"tags":["VASPs"],"summary":"List VASPs","description":"Retrieve a paginated and sortable list of VASP (Virtual Asset Service Provider) records from the directory.","operationId":"list_vasps_api_v2_directory_vasps_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":30,"title":"Size"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"start_range","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Range"}},{"name":"end_range","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Range"}}],"responses":{"200":{"description":"A page of VASP records from the directory.","content":{"application/json":{"schema":{}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"422":{"description":"Unprocessable Entity - Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}}}}
```

## Search VASP

> Search for VASP (Virtual Asset Service Provider) records using identifiers such as business or legal names. Returns an empty result set when no matching records are found.\
> \
> To find the VASP behind a destination wallet, send \`wallet\_address\` with the \`dti\` of the asset instead of \`search\_term\`. The result lists the VASPs you can send to that claim the wallet, in the same shape as a name search, including \`supported\_protocols\`; it is empty when no such VASP is known.

```json
{"openapi":"3.1.0","info":{"title":"Ospree Directory API","version":"2.0.0"},"tags":[{"name":"VASPs","description":"The VASP directory used to identify counterparty institutions."}],"servers":[{"url":"https://dev-api.ospree.io","description":"Development"}],"security":[{"HTTPBearer":[]}],"components":{"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"schemas":{"ApiFailResponse":{"properties":{"status":{"type":"string","title":"Status","default":"fail"},"message":{"type":"string","title":"Message"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code","description":"Stable, machine-readable error code, e.g. `auth.unauthenticated`. Additive-only."},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"}},"type":"object","required":["message"],"title":"ApiFailResponse","description":"*summary*: Api fail response model"},"ApiErrorResponse":{"properties":{"status":{"type":"string","title":"Status","default":"error"},"code":{"type":"integer","title":"Code","description":"Duplicates the HTTP status; use `error_code`. Removed in v3."},"message":{"type":"string","title":"Message"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code","description":"Stable, machine-readable error code, e.g. `auth.unauthenticated`. Additive-only."},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"}},"type":"object","required":["code","message"],"title":"ApiErrorResponse","description":"*summary*: Api error response model"}}},"paths":{"/api/v2/directory/vasps/search":{"get":{"tags":["VASPs"],"summary":"Search VASP","description":"Search for VASP (Virtual Asset Service Provider) records using identifiers such as business or legal names. Returns an empty result set when no matching records are found.\n\nTo find the VASP behind a destination wallet, send `wallet_address` with the `dti` of the asset instead of `search_term`. The result lists the VASPs you can send to that claim the wallet, in the same shape as a name search, including `supported_protocols`; it is empty when no such VASP is known.","operationId":"search_vasps_api_v2_directory_vasps_search_get","parameters":[{"name":"search_term","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search Term"}},{"name":"wallet_address","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Find the VASPs you can send to that claim this wallet address. Requires `dti`; not combinable with `search_term`. Returns an empty list when no VASP claims the wallet.","title":"Wallet Address"},"description":"Find the VASPs you can send to that claim this wallet address. Requires `dti`; not combinable with `search_term`. Returns an empty list when no VASP claims the wallet."},{"name":"dti","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The Digital Token Identifier (ISO 24165) of the asset the wallet holds, e.g. `X9J9K872S` for Ether. Required with `wallet_address`; an unknown DTI is rejected with 422.","title":"Dti"},"description":"The Digital Token Identifier (ISO 24165) of the asset the wallet holds, e.g. `X9J9K872S` for Ether. Required with `wallet_address`; an unknown DTI is rejected with 422."}],"responses":{"200":{"description":"Matching VASPs. Unlike the account search, this one DOES use the `{status, data}` envelope.","content":{"application/json":{"schema":{}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"422":{"description":"Unprocessable Entity - Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}}}}
```

## Retrieve VASP

> Retrieve a specific VASP (Virtual Asset Service Provider) record from the directory using its unique identifier.

```json
{"openapi":"3.1.0","info":{"title":"Ospree Directory API","version":"2.0.0"},"tags":[{"name":"VASPs","description":"The VASP directory used to identify counterparty institutions."}],"servers":[{"url":"https://dev-api.ospree.io","description":"Development"}],"security":[{"HTTPBearer":[]}],"components":{"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"schemas":{"ApiFailResponse":{"properties":{"status":{"type":"string","title":"Status","default":"fail"},"message":{"type":"string","title":"Message"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code","description":"Stable, machine-readable error code, e.g. `auth.unauthenticated`. Additive-only."},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"}},"type":"object","required":["message"],"title":"ApiFailResponse","description":"*summary*: Api fail response model"},"ApiErrorResponse":{"properties":{"status":{"type":"string","title":"Status","default":"error"},"code":{"type":"integer","title":"Code","description":"Duplicates the HTTP status; use `error_code`. Removed in v3."},"message":{"type":"string","title":"Message"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code","description":"Stable, machine-readable error code, e.g. `auth.unauthenticated`. Additive-only."},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"}},"type":"object","required":["code","message"],"title":"ApiErrorResponse","description":"*summary*: Api error response model"}}},"paths":{"/api/v2/directory/vasps/{vasp_id}":{"get":{"tags":["VASPs"],"summary":"Retrieve VASP","description":"Retrieve a specific VASP (Virtual Asset Service Provider) record from the directory using its unique identifier.","operationId":"retrieve_vasp_api_v2_directory_vasps__vasp_id__get","parameters":[{"name":"vasp_id","in":"path","required":true,"schema":{"type":"string","description":"The unique identifier of the VASP (Virtual Asset Service Provider).","title":"Vasp Id"},"description":"The unique identifier of the VASP (Virtual Asset Service Provider)."}],"responses":{"200":{"description":"The VASP record.","content":{"application/json":{"schema":{}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFailResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}}}}
```
