Developers

Accordio API documentation

The Accordio developer reference: a public read-only JSON API, an OpenAPI 3.1 description, markdown versions of every page, and the scope metadata that says what an agent can do here without a credential.

API version 1.0.0 · OpenAPI 3.1 · hello@accordio.ai

Overview

Accordio publishes a small, read-only HTTP API describing the product itself: pricing, features, FAQ answers, integrations, and the catalogue of prebuilt AI agents. It exists so an agent can answer a question about Accordio from data rather than from scraped markup.

Everything under https://accordio.ai/api is public. No key, no signup, no credential. Responses are JSON, including errors, and carry permissive CORS headers so a browser-based agent can call them directly.

The API surface is versioned as 1.0.0. The version is reported in the /api index and bumped when a published response shape changes.

Quickstart

Start at the index. It lists every endpoint, every scope, and a link to each machine-readable document, so one request is enough to discover the rest.

Discover the API
curl -s https://accordio.ai/api | jq

Endpoints

Every path below is relative to https://accordio.ai and answers GET without a credential. The authoritative list, with full schemas, is the OpenAPI document.

MethodPathReturns
GET/apiIndex of the public API
GET/openapi.jsonThis document
GET/.well-known/oauth-protected-resourceRFC 9728 protected-resource metadata
GET/.well-known/oauth-authorization-serverRFC 8414 authorization-server metadata (not published)
GET/api/markdownAny page on accordio.ai, rendered as markdown
GET/api/pricingPlan, trial, and credit tiers
GET/api/featuresProduct features
GET/api/faqFrequently asked questions
GET/api/integrationsApps Accordio connects to
GET/api/agentsPrebuilt AI agents

Authentication and OAuth 2.0

The public API takes no credential. Every scope in the protected-resource metadata is granted to anonymous callers, subject to per-IP rate limits, and no token is issued or accepted for them.

Accordio uses OAuth 2.0 in one direction only: as a client. When you connect Gmail, Google Calendar, Slack, Notion, or any other integration inside the product, Accordio runs the OAuth 2.0 authorization code flow against that provider and stores a scoped, revocable token. Accordio never sees the third-party password.

Accordio does not yet run an OAuth 2.0 authorization server of its own, so there is no /.well-known/oauth-authorization-server document and no way for a third-party client to obtain an Accordio access token. That path returns a 404 with a JSON body saying exactly this, rather than metadata for a server that does not exist.

What does exist is RFC 9728 protected resource metadata. Read it to learn which scopes this origin recognises, which are publicly grantable today, and where to ask about the rest.

Scopes

Scopes are published so an agent can reason about permission before it spends a round trip. The public scopes are what an anonymous caller gets. The restricted scopes are what Accordio's own clients use internally; they are listed for completeness and are not grantable to third parties today.

Publicly grantable

public:read
Read public marketing and catalogue data: product features, pricing, FAQ, integrations, AI agents.
scheduler:read
Read a published Accordio booking page: host profile, event types, and free slots.
scheduler:write
Book or cancel a meeting on a published Accordio booking page. Mutating, rate limited, no credential required.

Not publicly grantable

contracts:read
Read contracts and proposals in a workspace.
contracts:write
Create, edit, and send contracts and proposals.
invoices:read
Read invoices, payments, and reconciliation state.
invoices:write
Create and send invoices, and record payments.
clients:read
Read clients, leads, and projects.
clients:write
Create and update clients, leads, and projects.
time:read
Read tracked time entries and timesheets.
time:write
Start, stop, and edit time entries.

Markdown instead of HTML

Every page on https://accordio.ai has a markdown representation. Send `Accept: text/markdown` and you get the page as markdown instead of a JavaScript-heavy HTML document. Responses carry `Vary: Accept` so a cache never hands the wrong variant to the wrong client.

Quality values are honoured. `Accept: text/markdown;q=0.9, text/html` still returns HTML, because HTML was rated higher. A client that accepts neither HTML nor markdown gets a 406 listing what this origin can produce.

The same document is addressable directly, without content negotiation, if you would rather be explicit.

Two ways to get the same markdown
curl -s -H 'Accept: text/markdown' https://accordio.ai/pricing
curl -s 'https://accordio.ai/api/markdown?path=/pricing'

Errors

Errors under /api are JSON with a stable shape: a machine-readable `code`, a human `message`, a `hint` that says what to do next, the HTTP `status`, and a `documentation_url`. An unknown /api path returns that envelope rather than an HTML error page, and a 405 always carries the `Allow` header.

Unknown paths elsewhere on the site return a real 404. Ask for markdown and the 404 body is markdown that links the sitemap, llms.txt, and this page.

A JSON 404
curl -s https://accordio.ai/api/not-a-real-endpoint | jq .error

Rate limits and caching

Catalogue responses are cached for an hour at the edge and say so in `Cache-Control`. Error responses are never cached. There is no published per-key quota because there are no keys; abusive traffic is throttled per IP at the edge.

Please cache what you fetch and send a descriptive User-Agent so we can tell agents apart from scrapers.

Support

The OpenAPI document is the contract. If something in it is wrong, or you need an endpoint that does not exist yet, email hello@accordio.ai.

For how the product works rather than how to call it, read the product documentation at https://app.accordio.ai/docs or the Accordio app at https://app.accordio.ai.

Every machine-readable document

  • OpenAPI 3.1 description

    Every publicly callable endpoint, request and response schema included. Also served as YAML at /api/openapi.yaml.

    https://accordio.ai/openapi.json

  • API index

    Endpoint list, scope list, and links to every other document, as JSON.

    https://accordio.ai/api

  • Protected resource metadata

    RFC 9728. Names this origin as a protected resource and lists the scopes an anonymous caller actually gets.

    https://accordio.ai/.well-known/oauth-protected-resource

  • API catalog

    RFC 9727 linkset pointing at every API description document above.

    https://accordio.ai/.well-known/api-catalog

  • llms.txt

    Plain-text map of the whole site: pages, features, agents, integrations, docs.

    https://accordio.ai/llms.txt

  • Sitemap

    Every indexable page, as XML.

    https://accordio.ai/sitemap.xml

  • Product documentation

    How the product itself works: contracts, invoices, payments, time tracking, the AI assistant.

    https://app.accordio.ai/docs