Skip to main content
This guide walks you from zero to a live moderation request in under five minutes. By the end you will have a working API key and a 201 response from POST /api/public/v1/requests.
1
Create your account
2
Go to platform.opennotes.ai and click Sign Up. Enter your email and a password, then confirm your email.
3
Mint an API key
4
After confirming your email, sign in and open the API Keys dashboard. Click Create Key, give it a descriptive name (e.g. Production Discourse), and select the Discourse Plugin scope template. Copy the key immediately — it is shown only once.
5
Store the key in a secret manager (1Password, AWS Secrets Manager, GCP Secret Manager). If you lose it you must revoke and re-mint.
6
Make your first moderation request
7
Replace <api_key>, <community_server_id>, and <post_id> with real values:
8
curl -X POST https://api.opennotes.ai/api/public/v1/requests \
  -H "Authorization: Bearer <api_key>" \
  -H "X-Adapter-Platform: discourse" \
  -H "X-Adapter-User-Id: 42" \
  -H "X-Adapter-Username: alice" \
  -H "X-Adapter-Trust-Level: 2" \
  -H "X-Adapter-Admin: false" \
  -H "X-Adapter-Scope: <community_server_id>" \
  -H "Content-Type: application/json" \
  -d '{
    "data": {
      "type": "requests",
      "attributes": {
        "request_id": "<post_id>",
        "requested_by": "42",
        "community_server_id": "<community_server_id>",
        "original_message_content": "Hello world — my first moderation request",
        "platform_message_id": "<post_id>"
      }
    }
  }'
9
A successful call returns HTTP 201 with a JSON:API resource body:
10
{
  "data": {
    "type": "requests",
    "id": "01940000-0000-7000-0000-000000000001",
    "attributes": {
      "request_id": "<post_id>",
      "status": "pending",
      "community_server_id": "<community_server_id>"
    }
  },
  "jsonapi": { "version": "1.1" }
}
11
Poll or receive a webhook
12
Open Notes scores the content asynchronously. You can either poll GET /api/public/v1/requests/{request_id} or register a webhook to receive the consensus decision automatically. See Webhooks for delivery semantics.

Next steps

Register a community

Full walkthrough of the platform.opennotes.ai registration flow.

Manage instances

Add Discourse forums, Discord guilds, or other platform instances.

Public API contract

What every integration must do and what the server guarantees in return.

Headers and auth

Authorization bearer + X-Adapter-* header flow end-to-end.