# List an agent's declared actions

Source: https://docs.vlayers.ai/reference/agent-actions/list-action-activations

`GET /v1/agents/{id}/action-activations` · scope `agent_actions:read`

Returns the catalog actions (texts, emails, bookings, connected apps) the agent's published code declares, each with the `fingerprint` of what was declared and whether an Admin has switched it on, plus the record of who switched what and when. A declaration runs only while its exact fingerprint is on; changing the code changes the fingerprint.

Requires an API key with the `agent_actions:read` scope.

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | string | yes | The agent id. Example: `"0192f5c2-6f7a-7b9c-8d1e-2f3a4b5c6d78"` |

## Request

cURL:

```bash
curl "https://api.vlayers.ai/v1/agents/$AGENT_ID/action-activations" \
  -H "Authorization: Bearer $VOICELAYER_API_KEY"
```

TypeScript:

```ts
import { VoiceLayer } from '@voicelayer/api';

const voicelayer = new VoiceLayer();

const { declared } = await voicelayer.agentActions.listActionActivations('<agent-id>');
console.log(declared);
```

Python:

```python
from voicelayer import VoiceLayer

vl = VoiceLayer()

result = vl.agentActions.list_action_activations("<agent-id>")
print(result.declared)
```

## Response `200`

```json
{
  "declared": [
    {
      "toolName": "vl_send_text",
      "actionId": "vl.send_text",
      "fingerprint": "f3a9c1d2e4b5a6978877665544332211",
      "confirm": false,
      "sendRealValues": false,
      "connectionId": null,
      "active": true
    }
  ],
  "records": [
    {
      "actionId": "vl.send_text",
      "fingerprint": "f3a9c1d2e4b5a6978877665544332211",
      "activatedBy": "user:user_2abc",
      "activatedAt": "2026-10-20T15:04:05.000Z",
      "revokedBy": null,
      "revokedAt": null
    }
  ]
}
```
