---
title: "Activity · intentic sandbox API"
description: "The audit feed of what the agent did out in the world. Every route in the activity group of the intentic sandbox API, with its input, its answer and a playground."
url: "https://intentic.dev/api/activity/"
---

The sandbox itself

# Activity

The audit feed of what the agent did out in the world

Read-only by design. Entries are written by the sandbox alone and never by a caller, which is the whole reason the record can be trusted.

**GET`/activity` What the agent has done out in the world**

The audit trail of actions taken on outside services. Read-only on purpose: entries are written by the sandbox alone, which is what makes it a record worth trusting.

### What you send

| Field | Type | Where |
| --- | --- | --- |
| `provider` Narrow it to one outside service | string | query |
| `limit` How many entries to return | number | query |
| `before` Only entries older than this timestamp,… | number | query |

### What comes back

| Field | Type |
| --- | --- |
| `events` The audit entries, newest first | object[] |
| `id` The entry's own id | string |
| `at` When it happened, in milliseconds | number |
| `provider` Which outside service, when one was… | string |
| `account` Which account handled it | string |
| `direction` Whether something arrived, something went out,… | "in" | "out" | "system" |
| `type` Exactly what happened: a message received… | string |
| `channelId` Which channel or thread it happened… | string |
| `author` Who sent it, for something that… | string |
| `content` The message, in full, whichever direction… | string |
| `method` The verb of an outgoing call | string |
| `endpoint` The address of an outgoing call | string |
| `sessionId` The provider session behind it | string |
| `turnId` Ties one turn's entries together | string |
| `conversationId` Which conversation | string |
| `title` What that conversation was called at… | string |
| `origin` What woke the conversation from outside,… | object |
| `automationId` | string |
| `provider` | string |
| `channelId` | string |
| `author` | string |
| `automationIds` Which automations were involved | string[] |
| `outcome` How it ended | "ok" | "error" |
| `error` What went wrong, when something did | string |
| `extra` Whatever else the source had to… | object |

Try it answered in this tab

curl

```bash
curl "$SANDBOX/activity" \
 -H "x-intentic-control: $INTENTIC_TOKEN"
```

TypeScript

```typescript
import { sandbox } from "@intentic/sandbox-client";

const result = await sandbox.activity.list();
```

**GET`/activity/status` Whether the audit trail is being kept**

Which sources are feeding the record and whether each is working.

### What you send

Nothing. Call it as it is.

### What comes back

| Field | Type |
| --- | --- |
| `connections` Each source feeding the record, and… | object[] |
| `capabilityId` Which connection | string |
| `provider` Which service it is | string |
| `gateway` Idle means it is up but… | "ready" | "connecting" | "pairing" | "disconnected" … (5) |
| `lastError` The most recent thing that went… | string |
| `voice` A voice call the sandbox is… | object |
| `channelId` Which channel | string |
| `channelName` What it is called | string |
| `startedAt` When it joined, in milliseconds | number |
| `participants` Who else is in it | string[] |

Try it answered in this tab

curl

```bash
curl "$SANDBOX/activity/status" \
 -H "x-intentic-control: $INTENTIC_TOKEN"
```

TypeScript

```typescript
import { sandbox } from "@intentic/sandbox-client";

const result = await sandbox.activity.status();
```

More in The sandbox itself

[Previous ← System](https://intentic.dev/api/system/)[Next Logs →](https://intentic.dev/api/logs/)
