---
title: "Submit first-party events"
method: POST
path: "/v1/events"
tags: ["Account"]
---

# Submit first-party events

`POST /v1/events`

## Request

- Base URL: `https://api.spacefast.com`
- URL: `https://api.spacefast.com/v1/events`
- Auth: none declared

Send registered events from first-party clients as JSON. Limit each request to 20 events and 64 KiB. Exclude personal data. Control-plane events are server-only. Requests are rate-limited.

## Request body

- object
  - `source` 'dashboard' | 'www' | 'cli' | 'domain-ssh' | 'control-plane' | 'other'
  - `events` object[], required
    - `id` string
    - `name` 'client.page_viewed' | 'client.web_vital.measured' | 'client.error.observed' | 'cli.agent_tooling.outcome' | 'browser.funnel.claim_page_viewed' | 'browser.funnel.claim_token_validated' | 'browser.funnel.space_claimed' | 'browser.funnel.start_step_viewed' | 'browser.funnel.start_option_chosen' | 'browser.funnel.start_prompt_copied' | 'domain.search.session_started' | 'domain.search.session_ended' | 'domain.search.lookup_requested' | 'publish.receipt.created' | 'version.intent.created' | 'version.finalize.queued' | 'version.promote.queued' | 'auth.agent_handoff.redeemed' | 'auth.agent_handoff.fetched' | 'feature.blocked' | 'abuse.limit_tripped', required
    - `actor` union, required
      - object
        - `type` 'analytics_id', required
        - `id` string, required: Opaque analytics id minted by the platform; never an email or a name.
      - object
        - `type` 'anonymous_id', required
        - `id` string, required
      - object
        - `type` 'anonymous_machine', required
        - `id` string, required
      - object
        - `type` 'anonymous_session', required
        - `namespace` string, required
        - `id` string, required
      - object
        - `type` 'system', required
        - `id` string, required
    - `context` object
      - `team_id` string, nullable
      - `space_id` string, nullable
      - `user_id` string, nullable
      - `version_id` string, nullable
      - `client` string, nullable
      - `surface` string, nullable
    - `properties` object
    - `occurredAt` string, date-time: Client-side event time; server receipt time is authoritative when omitted.

## Response `202`

Response for status 202

- object
  - `$schema` string, uri: Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.
  - `data` object, required
    - `accepted` integer, required

## Other responses

- `default`: Problem details (RFC 9457). Any 4xx/5xx response is one `application/problem+json` document.

---

[API](https://skmtc.dev/spacefast/apis/spacefast-api.md) · [All operations](https://skmtc.dev/spacefast/apis/spacefast-api/llms.txt) · [OpenAPI document](https://skmtc.dev/spacefast/apis/spacefast-api/revisions/bd165bc7c983?raw)
