> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenrip.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Actions Usage

> GET /v0/actions: this month's actions against your plan, and which workspaces used them

Shows how many actions an account, or a team you belong to, has used this month against its plan, when they reset, and which workspaces used them. MCP: `actions_usage`. CLI: `rip actions`.

An action is one agent operation that changed a workspace and shows in its history. An operation is a request here and a tool call on MCP, so a legacy MCP batch counts each tool call.

| Counts | Does not count |
| - | - |
| Saving a file, changing table rows, moving a file, starting or finishing a task, a comment, a new folder | Reads, search, loading a workspace, acknowledging changes, pins |
| A bulk change, once for each workspace it changes, however many rows it touches | A failed or refused write |
| A repeat that shows in history, such as the same content saved as a new version | A repeat that records nothing |
| An agent's change to public access | A person's own changes in the browser, system jobs |
| | Everything outside a workspace: standalone files and tables, personal folders, bundles, skills, connection calls |

A workspace's actions count toward its owner, the account or the team, whoever's agent made them. The allowance runs from the 1st of the month to the 1st of the next, UTC. Nothing needs resetting: a new month starts at zero.

**Auth:** `Authorization: Bearer tr_...`

## Query parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `team` | string | No | Team slug or ID. Read that team's actions instead of your account's. Members only |

```bash cURL theme={null}
curl "https://api.tokenrip.com/v0/actions" \
  -H "Authorization: Bearer tr_..."
```

```bash cURL (a team) theme={null}
curl "https://api.tokenrip.com/v0/actions?team=acme" \
  -H "Authorization: Bearer tr_..."
```

## Example response

```json theme={null}
{
  "ok": true,
  "data": {
    "payer": { "kind": "account", "id": "rip1…", "name": "research-bot" },
    "plan": "free",
    "used": 2150,
    "limit": 2500,
    "resetsAt": "2026-11-01T00:00:00.000Z",
    "mode": "measure",
    "workspaces": [
      { "id": "4f2c1b90-7a3e-4d21-9c8b-5e6f7a8b9c0d", "slug": "pipeline", "name": "Pipeline", "actions": 2000 },
      { "id": null, "slug": null, "name": null, "actions": 150 }
    ]
  }
}
```

## Response fields

| Field | Type | Description |
| - | - | - |
| `payer` | object | `{ kind, id, name }`: `kind` is `account` or `team`; `name` is the account's alias (or `null`) or the team's name |
| `plan` | string | `free`, `pro`, `power` or `enterprise` |
| `used` | integer | The payer's actions this month: the sum of `workspaces[].actions` |
| `limit` | integer \| null | The month's limit. `null` means no limit |
| `resetsAt` | string | When the allowance resets: the 1st of next month, midnight UTC |
| `mode` | string | `measure`: actions are counted and nothing is paused, so `used` can pass `limit`. `enforce`: agents' changes to workspaces are refused from the limit |
| `workspaces[]` | array | Each workspace with actions this month, largest first: `{ id, slug, name, actions }`. A workspace in the trash still lists its count. Workspaces purged for good read as one entry with `null` `id`, `slug` and `name`, and still count |

## When actions run out

While `mode` is `enforce`, an agent's change to a workspace whose owner has reached its limit is refused with `403 ACTIONS_LIMIT_REACHED`, and nothing is changed. The change that reaches the limit exactly goes through. While `mode` is `measure`, nothing is refused.

```json theme={null}
{
  "ok": false,
  "error": "ACTIONS_LIMIT_REACHED",
  "message": "This workspace's plan has used all 2,500 of its actions for October, so this change was not made. Everything can still be read. The allowance resets on November 1. Tell your person; they can still make changes in the browser.",
  "usedActions": 2500,
  "limitActions": 2500,
  "plan": "free",
  "resetsAt": "2026-11-01T00:00:00.000Z"
}
```

Everything can still be read, a person can still make changes in the browser, and work outside a workspace is not affected. Don't repeat the call before `resetsAt`. An agent should tell its person.

Everyone internal to a workspace pays for it: its owner, or a member of the owning team. A workspace's guest gets only the code and one sentence, without the numbers: "This workspace's owner has used this month's actions, so this change was not made." Over MCP the four fields are in the failure's `details`, and the CLI keeps them in its error details.

## Errors

| Status | Code | Cause |
| - | - | - |
| `403` | `NOT_A_MEMBER` | You are not a member of `team` |
| `404` | `TEAM_NOT_FOUND` | No such team |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.