---
title: "Workspace API"
description: "The workspace's name and image (writes need branding:write), who is calling (GET /whoami, any credential), and the activity log (GET /activity, activity:read: no key preset includes it)."
url: https://www.unitpost.com/docs/platform/workspace
section: "Platform API reference"
updated: 2026-10-13
---
# Workspace API

> The workspace's name and image (writes need `branding:write`), who is calling (`GET /whoami`, any credential), and the activity log (`GET /activity`, `activity:read`: no key preset includes it).

Full schemas: [OpenAPI 3.1](https://www.unitpost.com/api/v1/openapi.json). HTML reference: https://www.unitpost.com/docs/platform/workspace.

## Operations

### `GET /api/v1/whoami`

Who am I

The calling credential: its workspace, the API key (name, prefix, scope preset) or the OAuth sign-in (the app and the member it acts for), the `capabilities` it may use after every clamp, and the workspace's rate limit. Call it first to plan within what the credential may do instead of learning by `403`. Never returns the secret. Requires no capability: any valid credential may call it.

Reference: https://www.unitpost.com/docs/platform/get-whoami ([Markdown](https://www.unitpost.com/docs/platform/get-whoami.md))

### `GET /api/v1/activity`

List activity

The workspace activity log, newest first and cursor-paginated: what changed, when, and who changed it (`actor.name`: a teammate, System, Ask Unit) and, for a change made over the API, MCP or Ask Unit, how (`actor.via`, with the API key). The rows the dashboard's Activity page and each record's timeline show. Narrow with `subject` (and `subject_id`), `contact_id`, `campaign_id`, `q` (the record's name or the actor) and `channel=email`. Needs `activity:read`, which no key preset includes: the log names your teammates. Requires the `activity:read` capability.

Reference: https://www.unitpost.com/docs/platform/get-activity ([Markdown](https://www.unitpost.com/docs/platform/get-activity.md))

### `PATCH /api/v1/workspace`

Rename the workspace

Change the workspace's name. Deleting the workspace stays in the dashboard. Requires the `branding:write` capability.

Reference: https://www.unitpost.com/docs/platform/patch-workspace ([Markdown](https://www.unitpost.com/docs/platform/patch-workspace.md))

### `PUT /api/v1/workspace/image`

Set the workspace image

Replace the workspace image (its avatar in the dashboard, and the email logo when there's no brand logo), from a public https `url` or base64 `data` (PNG, JPEG, GIF or WebP, up to 5 MB and 16,384 px a side). Requires the `branding:write` capability.

Reference: https://www.unitpost.com/docs/platform/put-workspace-image ([Markdown](https://www.unitpost.com/docs/platform/put-workspace-image.md))

### `DELETE /api/v1/workspace/image`

Remove the workspace image

Clear the workspace image. Requires the `branding:write` capability.

Reference: https://www.unitpost.com/docs/platform/delete-workspace-image ([Markdown](https://www.unitpost.com/docs/platform/delete-workspace-image.md))
