> For the complete documentation index, see [llms.txt](https://docs.meeco.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.meeco.me/openapi-docs/svx-api/wallet.md).

# Wallet

## Register or find a Wallet

> Register a new Wallet. When a Wallet exists with the given \`external\_reference\`, the existing Wallet information is returned making the operation idempotent.\
> If \`external\_reference\` is not used a new Wallet is always created.\
> \
> Based on the configuration of the component, a Wallet has a default key and DID assigned to it. This key and DID are used to register and authenticate the Wallet with the SVX API.<br>

```json
{"openapi":"3.1.0","info":{"title":"SVX Wallet API","version":"4.0.1"},"servers":[{"url":"https://zyfla-wallet-sandbox.meeco.cloud","description":"SVX Wallet deployment (relative)"}],"security":[{},{"bearerAuth":[]},{"mutualTLS":[]}],"components":{"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http"},"mutualTLS":{"type":"mutualTLS"}},"schemas":{"CreateWalletPayloadDto":{"properties":{"external_reference":{"type":"string"}},"type":"object"},"WalletResponseDto":{"properties":{"wallet":{"$ref":"#/components/schemas/WalletResponseModelDto"}},"required":["wallet"],"type":"object"},"WalletResponseModelDto":{"properties":{"dids":{"items":{"$ref":"#/components/schemas/WalletDIDDto"},"type":"array"},"external_reference":{"type":"string"},"id":{"type":"string"},"keys":{"items":{"$ref":"#/components/schemas/JSONWebKeyPub"},"type":"array"}},"required":["id","external_reference","keys","dids"],"type":"object"},"WalletDIDDto":{"properties":{"id":{"type":"string"},"keys":{"items":{"properties":{"kid":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"JSONWebKeyPub":{"properties":{"alg":{"type":"string"},"crv":{"type":"string"},"e":{"type":"string"},"k":{"type":"string"},"kid":{"type":"string"},"kty":{"type":"string"},"n":{"type":"string"},"x":{"type":"string"},"y":{"type":"string"}},"type":"object"},"InvalidRequestPayloadError":{"properties":{"error":{"description":"Unique error identifier","enum":["invalid_request_payload"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"},"RegisterWalletError":{"properties":{"error":{"description":"Unique error identifier","enum":["register_wallet_error"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"},"InternalServerError":{"properties":{"error":{"description":"Unique error identifier","enum":["internal_server_error"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"}}},"paths":{"/wallets":{"post":{"summary":"Register or find a Wallet","description":"Register a new Wallet. When a Wallet exists with the given `external_reference`, the existing Wallet information is returned making the operation idempotent.\nIf `external_reference` is not used a new Wallet is always created.\n\nBased on the configuration of the component, a Wallet has a default key and DID assigned to it. This key and DID are used to register and authenticate the Wallet with the SVX API.\n","operationId":"WalletsController_create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWalletPayloadDto"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponseDto"}}},"description":"Existing Wallet successfully loaded"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponseDto"}}},"description":"New Wallet successfuly registered"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestPayloadError"}}},"description":""},"500":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/RegisterWalletError"},{"$ref":"#/components/schemas/InternalServerError"}]}}},"description":""}},"tags":["Wallet"]}}}}
```

## Get Wallet by ID

> Fetch Wallet information by ID.<br>

```json
{"openapi":"3.1.0","info":{"title":"SVX Wallet API","version":"4.0.1"},"servers":[{"url":"https://zyfla-wallet-sandbox.meeco.cloud","description":"SVX Wallet deployment (relative)"}],"security":[{},{"bearerAuth":[]},{"mutualTLS":[]}],"components":{"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http"},"mutualTLS":{"type":"mutualTLS"}},"schemas":{"WalletResponseDto":{"properties":{"wallet":{"$ref":"#/components/schemas/WalletResponseModelDto"}},"required":["wallet"],"type":"object"},"WalletResponseModelDto":{"properties":{"dids":{"items":{"$ref":"#/components/schemas/WalletDIDDto"},"type":"array"},"external_reference":{"type":"string"},"id":{"type":"string"},"keys":{"items":{"$ref":"#/components/schemas/JSONWebKeyPub"},"type":"array"}},"required":["id","external_reference","keys","dids"],"type":"object"},"WalletDIDDto":{"properties":{"id":{"type":"string"},"keys":{"items":{"properties":{"kid":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"JSONWebKeyPub":{"properties":{"alg":{"type":"string"},"crv":{"type":"string"},"e":{"type":"string"},"k":{"type":"string"},"kid":{"type":"string"},"kty":{"type":"string"},"n":{"type":"string"},"x":{"type":"string"},"y":{"type":"string"}},"type":"object"},"InvalidPathParamError":{"properties":{"error":{"description":"Unique error identifier","enum":["invalid_path_param"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"},"WalletNotFoundError":{"properties":{"error":{"description":"Unique error identifier","enum":["wallet_not_found"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"},"LoadWalletError":{"properties":{"error":{"description":"Unique error identifier","enum":["load_wallet_error"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"},"InternalServerError":{"properties":{"error":{"description":"Unique error identifier","enum":["internal_server_error"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"}}},"paths":{"/wallets/{walletId}":{"get":{"summary":"Get Wallet by ID","description":"Fetch Wallet information by ID.\n","operationId":"WalletsController_getOne","parameters":[{"in":"path","name":"walletId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponseDto"}}},"description":"Wallet information successfully loaded"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidPathParamError"}}},"description":""},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletNotFoundError"}}},"description":""},"500":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/LoadWalletError"},{"$ref":"#/components/schemas/InternalServerError"}]}}},"description":""}},"tags":["Wallet"]}}}}
```

## Delete Wallet by ID

> Deleted Wallet by ID. All information stored inside the Wallet will be deleted as well.<br>

```json
{"openapi":"3.1.0","info":{"title":"SVX Wallet API","version":"4.0.1"},"servers":[{"url":"https://zyfla-wallet-sandbox.meeco.cloud","description":"SVX Wallet deployment (relative)"}],"security":[{},{"bearerAuth":[]},{"mutualTLS":[]}],"components":{"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http"},"mutualTLS":{"type":"mutualTLS"}},"schemas":{"InvalidPathParamError":{"properties":{"error":{"description":"Unique error identifier","enum":["invalid_path_param"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"},"WalletNotFoundError":{"properties":{"error":{"description":"Unique error identifier","enum":["wallet_not_found"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"},"DeleteWalletError":{"properties":{"error":{"description":"Unique error identifier","enum":["delete_wallet_error"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"},"InternalServerError":{"properties":{"error":{"description":"Unique error identifier","enum":["internal_server_error"],"type":"string"},"extra_info":{"description":"Object that may contain more information about the error","type":"object"},"message":{"description":"User friendly error message","type":"string"}},"required":["error","message","extra_info"],"type":"object"}}},"paths":{"/wallets/{walletId}":{"delete":{"summary":"Delete Wallet by ID","description":"Deleted Wallet by ID. All information stored inside the Wallet will be deleted as well.\n","operationId":"WalletsController_deleteOne","parameters":[{"in":"path","name":"walletId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Wallet successfuly removed"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidPathParamError"}}},"description":""},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletNotFoundError"}}},"description":""},"500":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/DeleteWalletError"},{"$ref":"#/components/schemas/InternalServerError"}]}}},"description":""}},"tags":["Wallet"]}}}}
```
