Plain

Plain is a customer support platform for B2B and technical SaaS companies, built entirely on its own public GraphQL API so there is full parity between what the product UI and the API can do. It unifies support across email, chat, Slack, and API-created threads, with customers, companies, tenants, tiers and SLAs, labels, help center articles, snippets, tasks, and events as first-class entities. Developers integrate via a Relay-style GraphQL API (bearer API keys with fine-grained permissions), typed TypeScript and Go SDKs, a CLI, customer-card UI components, HMAC-signed webhooks, a hosted MCP server, and an official agent skill. This profile was enriched from Plain's public developer surface.

Plain publishes 1 API on the APIs.io network. Tagged areas include Company, Customer Support, Customer Service, Help Desk, and Support.

The Plain catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Plain’s developer surface includes documentation, API reference, getting-started guide, engineering blog, support, pricing, changelog, and 24 more developer resources.

47.3/100 developing ▬ flat Agent 39/100 agent aware Full breakdown ↓
scored 2026-07-23 · rubric v0.5
AccessSelf serve
1 APIs 1 MCP Servers
CompanyCustomer SupportCustomer ServiceHelp DeskSupportSaaSGraphQLWebhooksMCPDeveloper Tools

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-23 · rubric v0.5
Composite quality — 47.3/100 · developing
Contract Quality 5.7 / 25
Developer Ergonomics 16.1 / 20
Commercial Clarity 10.5 / 20
Operational Transparency 5.8 / 13
Governance 0.0 / 12
Discoverability 9.3 / 10
Agent readiness — 39/100 · agent aware
Machine-Readable Contract 0 / 18
Agentic Access Contract 0 / 15
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 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 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/plain: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 1

Individual APIs this provider publishes, each with its own machine-readable definition.

Plain Core GraphQL API

Plain's Core GraphQL API — the same API the Plain product is built on. Manage customers, companies, tenants, threads, messaging, help center, labels, tiers/SLAs, snippets, tasks...

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

plain-mcp.yml

MCP SERVER

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Plain Webhooks

ASYNCAPI

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Plain Authentication

apiKey/oauth2/mutualTLS · 4 schemes

SECURITY

Plain Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Plain Trust Center

trust center published

SECURITY

Resources

Get Started 3

Portal, sign-up, and the first successful call

Documentation 3

Reference material describing how the API behaves

Agent Surfaces 3

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 7

Pagination, idempotency, versioning, errors, and events

Scroll for all 7

Build 4

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 4

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

Source (apis.yml)

apis.yml Raw ↑
aid: plain
name: Plain
description: Plain is a customer support platform for B2B and technical SaaS companies, built entirely on its own public GraphQL
  API so there is full parity between what the product UI and the API can do. It unifies support across email, chat, Slack,
  and API-created threads, with customers, companies, tenants, tiers and SLAs, labels, help center articles, snippets, tasks,
  and events as first-class entities. Developers integrate via a Relay-style GraphQL API (bearer API keys with fine-grained
  permissions), typed TypeScript and Go SDKs, a CLI, customer-card UI components, HMAC-signed webhooks, a hosted MCP server,
  and an official agent skill. This profile was enriched from Plain's public developer surface.
url: https://raw.githubusercontent.com/api-evangelist/plain/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://framerusercontent.com/assets/8LkFDsA5X0pauVd2p3tTSJ4AF4s.png
x-type: company
x-source: vc-portfolio
x-backed-by:
- battery-ventures
x-tier: stub
x-tier-reason: portfolio-lead
specificationVersion: '0.20'
created: '2026-07-17'
modified: '2026-07-20'
tags:
- Company
- Customer Support
- Customer Service
- Help Desk
- Support
- SaaS
- GraphQL
- Webhooks
- MCP
- Developer Tools
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
apis:
- name: Plain Core GraphQL API
  description: Plain's Core GraphQL API — the same API the Plain product is built on. Manage customers, companies, tenants,
    threads, messaging, help center, labels, tiers/SLAs, snippets, tasks, events, and webhook targets.
  humanURL: https://www.plain.com/docs/api-reference
  baseURL: https://core-api.uk.plain.com/graphql/v1
  properties:
  - type: GraphQL
    url: graphql/plain-schema.graphql
  - type: Documentation
    url: https://www.plain.com/docs
  - type: APIReference
    url: https://www.plain.com/docs/api-reference
  - type: Authentication
    url: authentication/plain-authentication.yml
common:
- type: DomainSecurity
  url: security/plain-domain-security.yml
- type: DeveloperPortal
  url: https://www.plain.com/docs
- type: Documentation
  url: https://www.plain.com/docs
- type: APIReference
  url: https://www.plain.com/docs/api-reference
- type: GettingStarted
  url: https://www.plain.com/docs/graphql/introduction
- type: GitHubOrganization
  url: https://github.com/team-plain
- type: Blog
  url: https://www.plain.com/blog
- type: Support
  url: https://help.plain.com
- type: Pricing
  url: https://www.plain.com/pricing
- type: Login
  url: https://app.plain.com
- type: TermsOfService
  url: https://www.plain.com/legal/terms-and-conditions
- type: PrivacyPolicy
  url: https://www.plain.com/legal/privacy-policy
- type: StatusPage
  url: https://status.plain.com
- type: ChangeLog
  url: https://www.plain.com/changelog
- type: ChangeLog
  url: changelog/plain-changelog.yml
- type: GraphQL
  url: graphql/plain-schema.graphql
- type: Authentication
  url: authentication/plain-authentication.yml
- type: Conventions
  url: conventions/plain-conventions.yml
- type: ErrorCatalog
  url: errors/plain-error-codes.yml
- type: Lifecycle
  url: lifecycle/plain-lifecycle.yml
- type: Conformance
  url: conformance/plain-conformance.yml
- type: DataModel
  url: data-model/plain-data-model.yml
- type: Packages
  url: packages/plain-packages.yml
- type: SDKs
  url: packages/plain-packages.yml
- type: CLI
  url: cli/plain-cli.yml
- type: Components
  url: components/plain-components.yml
- type: MCPServer
  url: mcp/plain-mcp.yml
- type: AgentSkill
  url: skills/_index.yml
- type: Webhooks
  url: asyncapi/plain-webhooks.yml
- type: LLMsTxt
  url: llms/plain-llms.txt
- type: TrustCenter
  url: security/plain-trust-center.yml
x-enrichment:
  date: '2026-07-20'
  status: enriched
  artifacts_added: 18
  pass: local-v1