Skip to main content

Developer reference

API Documentation

Read aviation anniversaries without an API key, or create article drafts with an authenticated account. Drafts go through the contributor review workflow.

On this day in aviation

GET /api/v1/on-this-day is public and requires no account or API key. Browser requests from other websites are supported. It returns the same published events shown on On This Day, ordered by year.

curl "https://www.aviation.wiki/api/v1/on-this-day?date=12-17"

Omit date for today in UTC, or supply MM-DD. February 29 is valid in any year. Invalid dates and repeated date parameters return HTTP 400. Dates without published events return HTTP 200 with an empty events array. Temporary data failures return HTTP 503.

{
  "date": "12-17",
  "timezone": "UTC",
  "count": 0,
  "events": []
}

Each event contains id, year, date in YYYY-MM-DD format, title, summary, an absolute article url, and sources. Each source includes a url and may include title, publisher, citation identifier and access date. Sources belong to the full article. The calendar is a growing collection, so some days have no entries. Please cache results in your app and link readers back to the article and its sources.

Adding history articles

Create an event article with an exact Event date field, a short introduction and citations. After approval it joins the page and API automatically. Find candidate events in the Wikipedia aviation anniversary calendar, check their dates and remove duplicates. Retain attribution and the applicable CC BY-SA license when adapting Wikipedia text. Write original summaries using primary sources such as NASA History, the Smithsonian National Air and Space Museum and Airbus history. Source links do not grant permission to republish third-party text or photographs.

Authenticated

Bearer token per user account

Draft-only

Never bypasses editorial review

Rate limited

10 requests per minute per account, shared across keys

Authentication

Article draft requests require an API key attached to your aviation.wiki account. Generate one in Settings → API Keys. Include the key as a Bearer token in every request:

Authorization: Bearer aw_<your_key>

Keys are tied to your account. Drafts submitted via the API are attributed to you and appear in your contributions list. Keep keys private — anyone with a key can create drafts as you.

POST/api/v1/drafts

Creates a new article draft. The draft enters the standard review queue with status draft and is never auto-published.

Request body

Content-Type: application/json

titlerequired
string

Article title. Maximum 160 characters. Used to derive the article slug.

typerequired
string

Content type. One of: airline, alliance, aircraft, airport, manufacturer, engine, event.

content
string

Article body in aviation.wiki Markdown. Maximum 250,000 characters.

summary
string

Short edit summary describing this draft. Maximum 500 characters.

sources
array

Citation sources referenced in the article body. Each source is an object with url (required), title, publisher, accessedAt (YYYY-MM-DD), and archiveUrl.

Example request

curl -X POST https://aviation.wiki/api/v1/drafts \
  -H "Authorization: Bearer aw_<your_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Airbus A320neo",
    "type": "aircraft",
    "summary": "Initial draft from public sources",
    "content": "The **Airbus A320neo** is a narrow-body airliner...",
    "sources": [
      {
        "url": "https://www.airbus.com/en/products-services/commercial-aircraft/a320-family/a320neo",
        "title": "A320neo – Airbus",
        "publisher": "Airbus",
        "accessedAt": "2026-08-23"
      }
    ]
  }'

Success response

HTTP 201

{
  "success": true,
  "draftId": "rev_01j...",
  "articleId": "art_01j...",
  "slug": "airbus-a320neo",
  "url": "https://aviation.wiki/contribute/airbus-a320neo"
}

Error responses

401Missing or invalid API key
403Key lacks required scope, or account is suspended
400Validation error — see the error field for details
409Slug conflict with a different content type
422Business logic error (e.g. article is locked)
429Rate limit exceeded — up to 10 drafts per minute per account
500Unexpected server error

Rate limit headers

Every response includes standard rate-limit headers:

X-RateLimit-Limit: 10
X-RateLimit-Remaining: 9
X-RateLimit-Reset: 1724437260

Scopes

Each API key is granted one or more scopes that control what actions it can perform.

articles:draft

Create draft revisions via POST /api/v1/drafts. The only scope currently available.

Get started

Create your first API key in Settings → API Keys. Keys are shown only once on creation.

Connect ChatGPT

Add this API to a custom GPT as an Action. Import the OpenAPI schema below, then set authentication to API key using the Bearer scheme. Paste your aviation.wiki key into the Action authentication settings, never into a chat.

https://www.aviation.wiki/openapi.json
  1. Create an aviation.wiki API key named for the integration.
  2. In the GPT editor, create an Action and import the schema URL above.
  3. Choose API key authentication, select Bearer, and save the key there.
  4. Test the Action in Preview and confirm it returns a review URL.

The Action can only create drafts. You still review, edit, and submit or publish them through the normal aviation.wiki workflow.