Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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: Fanaura Demo API
version: 1.0.0
summary: Public website files, form posts, and the Fanaura MCP OAuth scopes.
description: 'This document describes the HTTP surface of https://www.fanaura.com and the OAuth scopes for the MCP server at https://app.fanaura.com/mcp. Request public pages with Accept: text/markdown when you want Markdown. Request only the MCP scope the task needs. Canonical protected-resource metadata for the MCP server is https://app.fanaura.com/.well-known/oauth-protected-resource. Authorization server metadata is https://app.fanaura.com/.well-known/oauth-authorization-server.'
servers:
- url: https://www.fanaura.com
description: Fanaura public website
tags:
- name: Demo
paths:
/api/demo:
post:
operationId: submitDemoRequest
summary: Submit a demo request from a person
description: Sends the demo request to Fanaura by email. Call this only when a person asked you to submit the form.
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DemoRequest'
responses:
'200':
description: The request was accepted for email delivery.
content:
application/json:
schema:
$ref: '#/components/schemas/FormSuccess'
'500':
description: The email was not sent.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
tags:
- Demo
components:
schemas:
DemoRequest:
type: object
properties:
name:
type: string
email:
type: string
company:
type: string
message:
type: string
FormSuccess:
type: object
required:
- success
properties:
success:
type: boolean
ErrorMessage:
type: object
required:
- error
properties:
error:
type: string
securitySchemes:
fanauraMcpOAuth:
type: oauth2
description: OAuth 2.0 for https://app.fanaura.com/mcp. Authorization code with PKCE (S256). Request only the scope the task needs. Do not request every scope in this list.
flows:
authorizationCode:
authorizationUrl: https://app.fanaura.com/oauth/mcp/authorize
tokenUrl: https://app.fanaura.com/api/oauth/mcp/token
refreshUrl: https://app.fanaura.com/api/oauth/mcp/token
scopes:
journeys:read: Read journeys, keywords, destinations, and publish state on the signed-in account.
journeys:write: Create and edit journeys on the signed-in account. Publishing still requires an active membership and a connected Instagram account.
audience:read: Read contacts, timelines, and audience totals on the signed-in account.
revalidateSecret:
type: apiKey
in: header
name: x-revalidate-secret
description: Shared secret for the website cache hook. Not an OAuth scope.