# Platform API

Monitor blockchain activity at addresses you provide or derive from your extended public key. Read balances and transactions, reconcile invoice receipts and configure notifications across supported networks.
See the [Platform overview](https://docs.vilna.io/apis/platform) for capabilities, [authentication](https://docs.vilna.io/apis/authentication) for API keys, and [idempotency](https://docs.vilna.io/apis/idempotency) for mutation retries. Each operation declares its required permissions, headers and parameters.

Version: 2.0.0
License: Apache 2.0

## Servers

Vilna API.
```
https://api.vilna.io/v2
```

## Security

### Auth

API key for authenticating requests. Include your key in the `X-Api-Key` header. Keys can be created in the Vilna Dashboard or via the Management API. The scopes listed per operation indicate which permissions the key must have.

Type: apiKey
In: header
Name: X-Api-Key

## Download OpenAPI description

 - [Platform API](https://docs.vilna.io/_bundle/@l10n/ru/apis/platform/@v2/api.yaml)

## Activity

 - [GET /activity](https://docs.vilna.io/ru/apis/platform/api/activity/list-activity.md): List balance changes across tracked addresses with filtering and pagination.
## Balances

 - [POST /balances/{family}/search](https://docs.vilna.io/ru/apis/platform/api/balance/search-balances.md): Search current balances for a page of address and asset identities within one chain family, with optional chain and asset filters.
 - [GET /balances/{family}/summary](https://docs.vilna.io/ru/apis/platform/api/balance/summarize-balances.md): Summarize balances by asset across the project's tracked addresses in one chain family. Chain, asset and amount filters apply before pagination; `meta.total` counts matching assets. Amount bounds use
 - [POST /balances/{family}/actions/refresh](https://docs.vilna.io/ru/apis/platform/api/balance/refresh-balance.md): Synchronously refresh and return the current balance for one address and asset within one chain family. New refreshes share a project-wide rolling limit across all chain families. A request counts tow
## Addresses

 - [GET /public-keys/{public_key_id}/addresses](https://docs.vilna.io/ru/apis/platform/api/address/list-public-key-addresses.md): List addresses derived from the public key.
 - [POST /public-keys/{public_key_id}/addresses](https://docs.vilna.io/ru/apis/platform/api/address/generate-public-key-addresses.md): Generate addresses for the public key, either a range of derivation indexes or the next unused one. An index that already has an address is returned unchanged; `label` and `meta` apply only to the add
 - [GET /addresses](https://docs.vilna.io/ru/apis/platform/api/address/list-addresses.md): List tracked addresses (HD and external) with filtering and pagination.
 - [POST /addresses/external](https://docs.vilna.io/ru/apis/platform/api/address/create-external-address.md): Import an externally managed address for tracking, given the address itself or the raw public key it derives from. Answers 200 with the existing address when the value is already tracked, 201 when it
 - [GET /addresses/hd](https://docs.vilna.io/ru/apis/platform/api/address/list-hd-addresses.md): List only HD-derived addresses (excludes external). Use GET /addresses for all types.
 - [DELETE /addresses/{address}](https://docs.vilna.io/ru/apis/platform/api/address/delete-address.md): Delete a tracked address. This operation is irreversible.
 - [GET /addresses/{address}](https://docs.vilna.io/ru/apis/platform/api/address/get-address.md): Get tracked address details by address value.
 - [PATCH /addresses/{address}](https://docs.vilna.io/ru/apis/platform/api/address/patch-address.md): Update tracked address metadata.
 - [GET /bitcoin/utxos](https://docs.vilna.io/ru/apis/platform/api/address/list-bitcoin-utxos.md): List unspent outputs held by one Bitcoin address on one network, with pagination and sorting.
## Address Tags

 - [GET /address-tags](https://docs.vilna.io/ru/apis/platform/api/address_tag/list-address-tags.md): List address tags with pagination.
 - [POST /address-tags](https://docs.vilna.io/ru/apis/platform/api/address_tag/create-address-tag.md): Create a named collection of addresses within a project. Tag names are unique per project (case-insensitive). Creating a tag whose name already exists returns the existing tag.
 - [GET /address-tags/{address_tag_id}](https://docs.vilna.io/ru/apis/platform/api/address_tag/get-address-tag.md): Get an address tag.
 - [PATCH /address-tags/{address_tag_id}](https://docs.vilna.io/ru/apis/platform/api/address_tag/patch-address-tag.md): Rename an address tag.
 - [DELETE /address-tags/{address_tag_id}](https://docs.vilna.io/ru/apis/platform/api/address_tag/delete-address-tag.md): Delete an address tag.
 - [POST /address-tags/{address_tag_id}/actions/add](https://docs.vilna.io/ru/apis/platform/api/address_tag/add-address-tag-addresses.md): Add addresses to an address tag by address value.
 - [POST /address-tags/{address_tag_id}/actions/remove](https://docs.vilna.io/ru/apis/platform/api/address_tag/remove-address-tag-addresses.md): Remove addresses from an address tag by address value.
## Extended Public Keys

 - [GET /public-keys](https://docs.vilna.io/ru/apis/platform/api/public_key/list-public-keys.md): List registered extended public keys with filtering and pagination.
 - [POST /public-keys](https://docs.vilna.io/ru/apis/platform/api/public_key/create-public-key.md): Register an extended public key for HD address derivation.
 - [DELETE /public-keys/{public_key_id}](https://docs.vilna.io/ru/apis/platform/api/public_key/delete-public-key.md): Delete a registered public key by ID, together with the addresses derived from it. An open invoice on any affected address returns 409.
 - [GET /public-keys/{public_key_id}](https://docs.vilna.io/ru/apis/platform/api/public_key/get-public-key.md): Get public key details by ID.
 - [PATCH /public-keys/{public_key_id}](https://docs.vilna.io/ru/apis/platform/api/public_key/patch-public-key.md): Update public key metadata.
 - [POST /public-keys/{public_key_id}/children](https://docs.vilna.io/ru/apis/platform/api/public_key/create-public-key-child.md): Derive and register a child key from an account-level public key. The server derives the child extended public key using BIP-32 derivation: no cryptography needed on the client side. If a standalone
 - [GET /public-keys/{public_key_id}/addresses](https://docs.vilna.io/ru/apis/platform/api/public_key/list-public-key-addresses.md): List addresses derived from the public key.
 - [POST /public-keys/{public_key_id}/addresses](https://docs.vilna.io/ru/apis/platform/api/public_key/generate-public-key-addresses.md): Generate addresses for the public key, either a range of derivation indexes or the next unused one. An index that already has an address is returned unchanged; `label` and `meta` apply only to the add
## Transactions

 - [GET /transactions](https://docs.vilna.io/ru/apis/platform/api/transaction/list-transactions.md): List blockchain transactions with filtering, sorting, and pagination.
 - [GET /transactions/{chain_gid}/{txid}](https://docs.vilna.io/ru/apis/platform/api/transaction/get-transaction.md): Get transaction details with events and balance changes.
## Invoices

 - [GET /invoices](https://docs.vilna.io/ru/apis/platform/api/invoice/list-invoices.md): List invoices with filtering and pagination.
 - [POST /invoices](https://docs.vilna.io/ru/apis/platform/api/invoice/create-invoice.md): Create a payment invoice for an address in the current project and a specific token. If no invoice is accepting payments at that address, create a new invoice and return `201 Created`. If an invoice i
 - [GET /invoices/{invoice_id}](https://docs.vilna.io/ru/apis/platform/api/invoice/get-invoice.md): Get full invoice details including merchant notes and metadata.
 - [DELETE /invoices/{invoice_id}](https://docs.vilna.io/ru/apis/platform/api/invoice/delete-invoice.md): Hide a settled invoice from the project. Only an invoice in a terminal status can be deleted: `confirmed`, `cancelled` or `expired`. An `open` invoice has to be cancelled first, or left to reach a ter
 - [POST /invoices/{invoice_id}/actions/cancel](https://docs.vilna.io/ru/apis/platform/api/invoice/cancel-invoice.md): Cancel an `open` or `processing` invoice when no recorded valid payment is unconfirmed and `confirmed_amount` is less than `amount`. This includes unpaid invoices and invoices with fully confirmed par
 - [GET /public/invoices/{invoice_id}](https://docs.vilna.io/ru/apis/platform/api/invoice/get-public-invoice.md): Public endpoint for payers. Returns invoice details needed for payment. No authentication required: the invoice UUID is the access token.
## Notification Channels

 - [GET /channels](https://docs.vilna.io/ru/apis/platform/api/channel/list-channels.md): List channels with filtering and pagination.
 - [POST /channels](https://docs.vilna.io/ru/apis/platform/api/channel/create-channel.md): Create a channel. The configuration schema is selected by `config.kind`. Retry the same request with the same `Idempotency-Key` to replay its original completed response under current authorization: o
 - [GET /channels/{channel_id}](https://docs.vilna.io/ru/apis/platform/api/channel/get-channel.md): Get channel details by ID.
 - [DELETE /channels/{channel_id}](https://docs.vilna.io/ru/apis/platform/api/channel/delete-channel.md): Delete a channel by ID.
 - [PATCH /channels/{channel_id}](https://docs.vilna.io/ru/apis/platform/api/channel/patch-channel.md): Update channel metadata or configuration. Name, configuration, availability and the attempt budget are validated and applied together, and `kind` cannot change.
 - [POST /channels/{channel_id}/actions/test](https://docs.vilna.io/ru/apis/platform/api/channel/test-channel.md): Send a synthetic message of the given family through the channel, rendered in the channel's own format. A disabled channel may be tested; the test does not change channel state. One attempt is made an
 - [GET /channels/{channel_id}/webhook-secrets](https://docs.vilna.io/ru/apis/platform/api/channel/get-channel-webhook-secrets.md): Returns the channel's signing secrets: always a `current` secret, plus a `previous` secret during the 24-hour rotation overlap window. Only valid for channels with `kind=webhook`; otherwise returns 40
 - [POST /channels/{channel_id}/webhook-secrets/actions/rotate](https://docs.vilna.io/ru/apis/platform/api/channel/rotate-channel-webhook-secret.md): Issues a new signing secret, demotes the existing current to previous for a 24-hour overlap window, and returns the new plaintext value. The plaintext is returned only here; store it immediately. Duri
 - [DELETE /channels/{channel_id}/webhook-secrets/previous](https://docs.vilna.io/ru/apis/platform/api/channel/delete-channel-previous-webhook-secret.md): Ends the rotation overlap window early. After this call, outgoing webhooks are signed only with the current secret. Idempotent: if there is no previous secret (the channel has never been rotated, or i
## Notification Subscriptions

 - [GET /subscriptions](https://docs.vilna.io/ru/apis/platform/api/subscription/list-subscriptions.md): List subscriptions with filtering and pagination.
 - [POST /subscriptions](https://docs.vilna.io/ru/apis/platform/api/subscription/create-subscription.md): Create a subscription binding a channel to a transaction family and a trigger, with an optional scope filter. Exactly matching an existing configuration returns it unchanged with 200 instead of creati
 - [GET /subscriptions/{subscription_id}](https://docs.vilna.io/ru/apis/platform/api/subscription/get-subscription.md): Get subscription details by ID.
 - [DELETE /subscriptions/{subscription_id}](https://docs.vilna.io/ru/apis/platform/api/subscription/delete-subscription.md): Delete a subscription by ID.
 - [PATCH /subscriptions/{subscription_id}](https://docs.vilna.io/ru/apis/platform/api/subscription/patch-subscription.md): Update a subscription's name, availability, delay or filters. Omitted fields stay unchanged. `filters` replaces the whole filter object; `{}` clears both restrictions. `family`, `channel_id` and the t
## Notifications

 - [GET /notifications](https://docs.vilna.io/ru/apis/platform/api/notification/list-notifications.md): List the project's notification history, including notifications waiting for their subscription condition, with filtering and pagination. Filters combine with AND, and filtering by a channel or subscr
 - [GET /notifications/{notification_id}](https://docs.vilna.io/ru/apis/platform/api/notification/get-notification.md): Get one notification and its original content. The content remains readable after the transaction has changed. Delivery attempts are paginated separately under `/logs`.
 - [GET /notifications/{notification_id}/logs](https://docs.vilna.io/ru/apis/platform/api/notification/list-notification-logs.md): List the delivery attempts of a notification, manual sends included, with pagination. A notification that has not been attempted yet returns an empty page rather than a 404.
 - [POST /notifications/{notification_id}/actions/resend](https://docs.vilna.io/ru/apis/platform/api/notification/resend-notification.md): Send one more attempt of a notification that still has its content, delivered ones included. The stored bytes, the event id and the payload version are reused exactly. Delivery uses the channel's curr
## Blockchains

 - [GET /blockchains](https://docs.vilna.io/ru/apis/platform/api/blockchain/list-blockchains.md): List supported blockchains with filtering and pagination.
 - [GET /blockchains/{chain_gid}](https://docs.vilna.io/ru/apis/platform/api/blockchain/get-blockchain.md): Get blockchain details by chain GID.
## Tokens

 - [GET /tokens](https://docs.vilna.io/ru/apis/platform/api/token/list-tokens.md): List catalog assets with filtering and pagination. Use `scope=project` to return only the project's selected assets.
 - [POST /tokens/{chain_gid}/{asset_path}](https://docs.vilna.io/ru/apis/platform/api/token/create-token.md): Create a token by chain GID and asset path. Metadata is resolved from chain data. A successful response's item always has status `supported`; a pending or unsupported resolution is reported as 422 ins
 - [GET /tokens/{chain_gid}/{asset_path}](https://docs.vilna.io/ru/apis/platform/api/token/get-token.md): Get token details by chain GID and asset path.
 - [POST /tokens/{chain_gid}/{asset_path}/actions/trust](https://docs.vilna.io/ru/apis/platform/api/token/trust-token.md): Add an existing supported token to this project's explicit trust selection.
 - [POST /tokens/{chain_gid}/{asset_path}/actions/untrust](https://docs.vilna.io/ru/apis/platform/api/token/untrust-token.md): Remove this project's explicit trust selection for a token.
## Token Tags

 - [GET /token-tags](https://docs.vilna.io/ru/apis/platform/api/token_tag/list-token-tags.md): List token tags with pagination.
 - [POST /token-tags](https://docs.vilna.io/ru/apis/platform/api/token_tag/create-token-tag.md): Create a named collection of tokens within a project. Tag names are unique per project (case-insensitive). Creating a tag whose name already exists returns the existing tag.
 - [GET /token-tags/{token_tag_id}](https://docs.vilna.io/ru/apis/platform/api/token_tag/get-token-tag.md): Get a token tag.
 - [PATCH /token-tags/{token_tag_id}](https://docs.vilna.io/ru/apis/platform/api/token_tag/patch-token-tag.md): Rename a token tag.
 - [DELETE /token-tags/{token_tag_id}](https://docs.vilna.io/ru/apis/platform/api/token_tag/delete-token-tag.md): Delete a token tag.
 - [POST /token-tags/{token_tag_id}/actions/add](https://docs.vilna.io/ru/apis/platform/api/token_tag/add-token-tag-assets.md): Add tokens to a token tag by asset GID.
 - [POST /token-tags/{token_tag_id}/actions/remove](https://docs.vilna.io/ru/apis/platform/api/token_tag/remove-token-tag-assets.md): Remove tokens from a token tag by asset GID.
## limits

 - [GET /limits](https://docs.vilna.io/ru/apis/platform/api/limits/get-limits.md): Get resource usage and effective limits for the current project.
## Simulation

 - [POST /evm/simulations](https://docs.vilna.io/ru/apis/platform/api/simulate/simulate-evm.md): Simulate one or more EVM transactions on the chain named in the body and return execution results.
## Version

 - [GET /version](https://docs.vilna.io/ru/apis/platform/api/version/get-version.md): Get the current API version.
