Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Primitive Service API
version: 1.0.0
description: Primitive is email infrastructure for AI agents.
contact:
name: Primitive
url: https://primitive.dev
license:
name: Proprietary
url: https://primitive.dev/terms
x-stability-level: stable
x-deprecation-policy: 'Breaking changes are announced at least 6 months in advance. Deprecated fields carry x-deprecated: true. The current stable version is v1.'
servers:
- url: https://api.primitive.dev/v1
description: Canonical API host (PRIMITIVE_API_BASE_URL). Carries every public API operation.
tags:
- name: Service
description: Operational endpoints such as the unauthenticated health/liveness probe.
paths:
/health:
get:
operationId: getHealth
summary: Service health check
description: Liveness probe for the API. Returns 200 with a small status payload whenever the service is up. Public — no authentication required — so agents, uptime monitors, and load balancers can reach it without a credential.
tags:
- Service
security: []
responses:
'200':
description: The service is healthy.
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
status:
type: string
enum:
- ok
description: Always `ok` when the service is healthy.
env:
type: string
description: Deployment environment identifier.
build_sha:
type: string
description: Git commit SHA of the running build.
ts:
type: string
format: date-time
description: Server timestamp (ISO 8601).
required:
- status
- env
- build_sha
- ts
example:
status: ok
env: production
build_sha: 0c0f184
ts: '2026-06-10T10:00:00.000Z'
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: 'API key with `prim_` prefix or OAuth access token with `prim_oat_` prefix: `Authorization: Bearer <token>`. Access is governed by the caller''s organization role (`owner`, `admin`, or `member`): API keys always act at `member` level regardless of who created them, and OAuth access tokens act with the authorizing user''s current organization role, resolved per request. Every operation in this spec is available to organization members; billing and organization administration are owner/admin actions performed in the dashboard and are not part of this API.'
DownloadToken:
type: apiKey
in: query
name: token
description: Signed download token provided in webhook payloads