Home
Providers
Primitive
Primitive
Primitive is email infrastructure built for AI agents. It lets an agent send and receive email with a single authenticated HTTP call — no SMTP credentials, DNS, or mail servers — and hosts each agent at a managed *.primitive.email address that runs a JavaScript handler on every inbound message. The `primitive chat` verb sends a message and returns the threaded reply in one round trip. The v1 REST API (96 paths, 129 operations) covers domains, sending, inbound emails, threads, search, webhook endpoints, filters, routing, hosted Functions, durable Memories, an agent registry, wake scheduling, and non-custodial x402 USDC payments over email. Primitive ships a published hosted MCP server, an A2A agent card, a read-only GraphQL surface, official Node/Python/Go SDKs and a CLI, and a rich agent-native discovery surface (llms.txt, /.well-known/*, packaged Agent Skills). Backed by Y Combinator (Spring 2026).
Primitive publishes 22 APIs on the APIs.io network, including Account API, Agent API, CLI API, and 19 more. Tagged areas include Email, Email Infrastructure, AI Agents, Agent Infrastructure, and Messaging.
The Primitive catalog on APIs.io includes 1 event-driven AsyncAPI specification.
Primitive’s developer surface includes documentation, API reference, getting-started guide, signup flow, pricing, engineering blog, support, and 28 more developer resources.
22 APIs
1 MCP Servers
Email Email Infrastructure AI Agents Agent Infrastructure Messaging Webhooks MCP Developer Tools API
On this page
Kin Score
APIs 22
MCP Servers 1
Event Specs 1
Security Posture 3
Agentic Access 1
Resources 35
apis.yml
32 Operational Transparency
Composite quality — 58.2/100 · developing
Contract Quality
17.8 / 25
Developer Ergonomics
17.4 / 20
Commercial Clarity
8.9 / 20
Operational Transparency
4.1 / 13
Discoverability
10.0 / 10
Agent readiness — 87/100 · agent native
Machine-Readable Contract
18 / 18
Agentic Access Contract
15 / 15
MCP Server
12 / 12
Machine-Readable Auth
10 / 10
Idempotency
9 / 9
Stable Error Semantics
8 / 8
Request/Response Examples
0 / 7
Rate-Limit Signaling
0 / 7
Typed Event Surface
6 / 6
Agent Skills
5 / 5
Well-Known Catalog
4 / 4
Consent & Bot Identity
3 / 3
Individual APIs this provider publishes, each with its own machine-readable definition.
Scroll for all 22
Model Context Protocol servers that expose these APIs to AI agents.
AsyncAPI definitions for this provider's event-driven and streaming APIs.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Recommended x-agentic-access execution contracts for AI agents.
Get Started 4
Portal, sign-up, and the first successful call
Documentation 2
Reference material describing how the API behaves
Agent Surfaces 5
MCP servers, agent skills, and machine-readable catalogs
Design & Contract 8
Pagination, idempotency, versioning, errors, and events
Scroll for all 8
Build 4
SDKs, sample code, and the tooling you integrate with
Access & Security 5
Authentication, authorization, and security posture
Operate 2
Status, limits, changes, and where to get help
Commercial 3
Pricing, plans, and the legal terms of use
Company 1
The organization behind the API
Other 1
Properties that don't map to a standard resource type
Source (apis.yml)
aid: primitive
name: Primitive
description: Primitive is email infrastructure built for AI agents. It lets an agent send and receive email with a single
authenticated HTTP call — no SMTP credentials, DNS, or mail servers — and hosts each agent at a managed *.primitive.email
address that runs a JavaScript handler on every inbound message. The `primitive chat` verb sends a message and returns the
threaded reply in one round trip. The v1 REST API (96 paths, 129 operations) covers domains, sending, inbound emails, threads,
search, webhook endpoints, filters, routing, hosted Functions, durable Memories, an agent registry, wake scheduling, and
non-custodial x402 USDC payments over email. Primitive ships a published hosted MCP server, an A2A agent card, a read-only
GraphQL surface, official Node/Python/Go SDKs and a CLI, and a rich agent-native discovery surface (llms.txt, /.well-known/*,
packaged Agent Skills). Backed by Y Combinator (Spring 2026).
url: https://raw.githubusercontent.com/api-evangelist/primitive/refs/heads/main/apis.yml
accessModel:
pricing: unknown
onboarding: self-serve
trial: false
try_now: false
public: false
label: Self-serve signup
confidence: medium
source:
- authentication
generated: '2026-07-22'
method: derived
image: https://www.primitive.dev/web-app-manifest-192x192.png
x-type: company
x-source: vc-portfolio
x-backed-by:
- y-combinator
x-tier: stub
x-tier-reason: portfolio-lead
specificationVersion: '0.20'
created: '2026-07-17'
modified: '2026-07-20'
x-enrichment:
date: '2026-07-20'
status: enriched
artifacts_added: 22
pass: local-v1
tags:
- Email
- Email Infrastructure
- AI Agents
- Agent Infrastructure
- Messaging
- Webhooks
- MCP
- Developer Tools
- API
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
- FN: APIs.json
email: info@apis.io
apis:
- aid: primitive:primitive-account-api
name: Primitive Account API
description: Manage your account settings, storage, and webhook secret
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Account
properties:
- type: OpenAPI
url: openapi/primitive-account-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-agent-api
name: Primitive Agent API
description: Agent signup and authentication
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Agent
properties:
- type: OpenAPI
url: openapi/primitive-agent-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-cli-api
name: Primitive CLI API
description: Browser-assisted CLI authentication
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- CLI
properties:
- type: OpenAPI
url: openapi/primitive-cli-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-demo-api
name: Primitive Demo API
description: Public, no-account sandbox operations that mirror authenticated endpoints with synthetic data so an agent can
learn the request and response shapes before signing up.
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Demo
properties:
- type: OpenAPI
url: openapi/primitive-demo-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-discovery-api
name: Primitive Discovery API
description: Unauthenticated entry point that lists the API base URL, how to obtain credentials, and the operations callable
without a token.
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Discovery
properties:
- type: OpenAPI
url: openapi/primitive-discovery-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-domains-api
name: Primitive Domains API
description: Claim, verify, and manage email domains
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Domains
properties:
- type: OpenAPI
url: openapi/primitive-domains-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-emails-api
name: Primitive Emails API
description: List, inspect, and manage received emails
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Emails
properties:
- type: OpenAPI
url: openapi/primitive-emails-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-endpoints-api
name: Primitive Endpoints API
description: Manage webhook endpoints that receive email events
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Endpoints
properties:
- type: OpenAPI
url: openapi/primitive-endpoints-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-filters-api
name: Primitive Filters API
description: Manage whitelist and blocklist filter rules
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Filters
properties:
- type: OpenAPI
url: openapi/primitive-filters-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-functions-api
name: Primitive Functions API
description: 'Deploy JavaScript handlers that run on inbound mail. Each function
is a single ESM module whose default export is an object with an
async `fetch(request, env)` method, in the shape of a Workers-style
handler. Primitive signs each delivery and forwards the
`Primitive-Signature` header to the handler; verify the raw request
body with `PRIMITIVE_WEBHOOK_SECRET` before trusting the parsed event.
The `event` field is `email.received` for normal inbound mail, or a
machine-mail type (`email.bounced`, `email.tls_report`,
`email.dmarc_report`, `email.dmarc_failure`) for bounces and reports;
the payload shape is otherwise identical. Code runs on
Primitive''s edge runtime; there is no infrastructure to manage.
Secrets land in `env` as encrypted bindings and are refreshed on
every redeploy.'
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Functions
properties:
- type: OpenAPI
url: openapi/primitive-functions-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-inbox-api
name: Primitive Inbox API
description: Check inbound email setup and processing readiness
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Inbox
properties:
- type: OpenAPI
url: openapi/primitive-inbox-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-memories-api
name: Primitive Memories API
description: 'Durable org-scoped or function-scoped JSON key-value storage for
agents and functions. Keys are caller-defined. Function scope is
always addressed by the function id UUID, not by function name.'
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Memories
properties:
- type: OpenAPI
url: openapi/primitive-memories-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-payments-api
name: Primitive Payments API
description: 'Collect and pay stablecoin (USDC) payments with x402. Settlement is
non-custodial: funds move directly from payer to payee on-chain via an
EIP-3009 authorization the payer signs with their own key, and Primitive
never holds funds. The payee registers a payout address and creates a
challenge; the payer signs and settles it under a configurable spend
policy (kill-switch, per-payment and per-day caps, payee allowlist).'
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Payments
properties:
- type: OpenAPI
url: openapi/primitive-payments-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-registries-api
name: Primitive Registries API
description: 'The Agent Registry: ownable directories of agents, addressable by a
registry-scoped handle. A registry''s publish policy (owner_only, request,
or open) decides whether a publish lists immediately or pends owner
approval. An agent is defined once with a globally unique,
reachability-verified address, then published into any registry under a
handle. Discovery reads (list, resolve, get) are public for public
registries; managing a registry and moderating requests use the owner''s
API key.'
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Registries
properties:
- type: OpenAPI
url: openapi/primitive-registries-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-routes-api
name: Primitive Routes API
description: 'Recipient routing: route inbound mail to a single destination per recipient
address. Rules bind an address pattern (exact or wildcard) to an endpoint;
`function_id` routes an address to a function, minting its route-target
endpoint.'
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Routes
properties:
- type: OpenAPI
url: openapi/primitive-routes-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-search-api
name: Primitive Search API
description: Semantic and hybrid search across received and sent mail
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Search
properties:
- type: OpenAPI
url: openapi/primitive-search-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-sending-api
name: Primitive Sending API
description: Send outbound emails through the Primitive API
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Sending
properties:
- type: OpenAPI
url: openapi/primitive-sending-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-service-api
name: Primitive Service API
description: Operational endpoints such as the unauthenticated health/liveness probe.
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Service
properties:
- type: OpenAPI
url: openapi/primitive-service-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-templates-api
name: Primitive Templates API
description: Public Function template registry reads used to browse installable agent templates.
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Templates
properties:
- type: OpenAPI
url: openapi/primitive-templates-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-threads-api
name: Primitive Threads API
description: Conversation threads spanning received and sent emails
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Threads
properties:
- type: OpenAPI
url: openapi/primitive-threads-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-wake-api
name: Primitive Wake API
description: 'Wake scheduling: schedule and send typed wake commands to your own
functions over real DKIM-signed email on a cron cadence, and manage the
per-target allowlist that authorizes which senders may wake a function.'
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Wake
properties:
- type: OpenAPI
url: openapi/primitive-wake-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
- aid: primitive:primitive-webhook-deliveries-api
name: Primitive Webhook Deliveries API
description: View and replay webhook delivery attempts
humanURL: https://www.primitive.dev/docs/api
baseURL: https://api.primitive.dev/v1
tags:
- Webhook Deliveries
properties:
- type: OpenAPI
url: openapi/primitive-webhook-deliveries-api-openapi.yml
- type: GraphQL
url: graphql/primitive.graphql
common:
- type: DeveloperPortal
url: https://www.primitive.dev/developers
- type: Documentation
url: https://www.primitive.dev/docs
- type: APIReference
url: https://www.primitive.dev/docs/api
- type: GettingStarted
url: https://www.primitive.dev/docs/quickstart
- type: SignUp
url: https://www.primitive.dev/signup
- type: Pricing
url: https://www.primitive.dev/pricing
- type: Blog
url: https://www.primitive.dev/blog
- type: Support
url: https://www.primitive.dev/contact
- type: TermsOfService
url: https://www.primitive.dev/terms
- type: PrivacyPolicy
url: https://www.primitive.dev/privacy
- type: GitHubOrganization
url: https://github.com/primitivedotdev
- type: Packages
url: packages/primitive-packages.yml
- type: SDKs
url: packages/primitive-packages.yml
- type: CLI
url: cli/primitive-cli.yml
- type: MCPServer
url: mcp/primitive-mcp.yml
- type: AgentSkill
url: skills/_index.yml
- type: Sandbox
url: sandbox/primitive-sandbox.yml
- type: LLMsTxt
url: llms/primitive-llms.txt
- type: WellKnown
url: well-known/primitive-well-known.yml
- type: SecurityTxt
url: well-known/primitive-security.txt
- type: Authentication
url: authentication/primitive-authentication.yml
- type: Conventions
url: conventions/primitive-conventions.yml
- type: Idempotency
url: conventions/primitive-conventions.yml
- type: ErrorCatalog
url: errors/primitive-error-codes.yml
- type: Lifecycle
url: lifecycle/primitive-lifecycle.yml
- type: Deprecation
url: lifecycle/primitive-lifecycle.yml
- type: Webhooks
url: asyncapi/primitive-webhooks.yml
- type: Components
url: components/primitive-components.yml
- type: DataModel
url: data-model/primitive-data-model.yml
- type: Conformance
url: conformance/primitive-conformance.yml
- type: AgenticAccess
url: agentic-access/primitive-agentic-access.yml
- type: Overlay
url: overlays/primitive-openapi-overlay.yaml
- type: VulnerabilityDisclosure
url: security/primitive-vulnerability-disclosure.yml
- type: Security
url: security/primitive-vulnerability-disclosure.yml
- type: DomainSecurity
url: security/primitive-domain-security.yml