# ActionObject

For the Explain Tx API, we currently support the following actions.

* Send Token
* Send NFT
* Approve Token
* Approve NFT
* Approve NFT Collection
* Revoke Token Approval
* Revoke NFT Collection Approval
* Revoke NFT Approval
* Cancel Tx
* Deploy Contract
* Call (If do not match the above types, will fallback to the call)

### Send Token

* type: string - *`send_token`*
* from\_addr: string - from address
* to\_addr: string - to address
* token: Object - token info [for more info](/en/readme/api-pro-reference/token.md#returns)

### Send NFT

* type: string - *`send_nft`*
* from\_addr: string - from address
* to\_addr: string - to address
* nft: Object - nft info

### Approve Token

* type: string - *`approve_token`*
* owner: string - owner address
* spender: Object - spender info
  * id: string - spender address
  * protocol: Object
    * id: string - protocol id
    * name: string - protocol name
    * logo\_url: string - protocol logo url
* token: Object - token info [for more info](/en/readme/api-pro-reference/token.md#returns)

### Approve NFT

* type: string - *`approve_nft`*
* owner: string - owner address
* spender: Object - spender info
  * id: string - spender address
  * protocol: Object
    * id: string - protocol id
    * name: string - protocol name
    * logo\_url: string - protocol logo url
* nft: Object - nft info

### Approve NFT Collection

* type: string - *`approve_nft_collection`*
* owner: string - owner address
* spender: Object - spender info
  * id: string - spender address
  * protocol: Object
    * id: string - protocol id
    * name: string - protocol name
    * logo\_url: string - protocol logo url
* collection: Object - collection info

### Revoke Token Approval

* type: string - *`revoke_token_approval`*
* owner: string - owner address
* spender: Object - spender info
  * id: string - spender address
  * protocol: Object
    * id: string - protocol id
    * name: string - protocol name
    * logo\_url: string - protocol logo url
* token: Object - token info [for more info](/en/readme/api-pro-reference/token.md#returns)

### Revoke NFT Approval

* type: string - *`revoke_nft_approval`*
* owner: string - owner address
* spender: Object - spender info
  * id: string - spender address
  * protocol: Object
    * id: string - protocol id
    * name: string - protocol name
    * logo\_url: string - protocol logo url
* nft: Object - nft info

### Revoke NFT Collection Approval

* type: string - *`revoke_nft_collection_approval`*
* owner: string - owner address
* spender: Object - spender info
  * id: string - spender address
  * protocol: Object
    * id: string - protocol id
    * name: string - protocol name
    * logo\_url: string - protocol logo url
* collection: Object - collection info

### Cancel Tx

* type: string - *`cancel_tx`*
* from\_addr: string - from address

### Deploy Contract

* type: string - *`deploy_contract`*
* from\_addr: string - from address

### Call

* type: string - *`call`*
* from\_addr: string - from address
* to\_addr: string - to address
* contract: Object - contract info
  * id: string - contract info
  * protocol: Object
    * logo\_url: string - protocol logo url
    * name: string - protocol name
    * id: string - protocol id


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cloud.debank.com/en/readme/api-models/actionobject.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
