v2.4 · stable

Wiki EU API

RESTful API for content management and data synchronization across European wiki projects.

Base URL: https://api.wiki-eu.ru/api/v2 TLS 1.3 JSON · UTF-8 Last updated: Apr 2026

Getting Started

The Wiki EU API provides programmatic access to articles, categories, and synchronization tasks. All responses are JSON-encoded.

Base URL for all requests:

https://api.wiki-eu.ru/api/v2

Every request must include an Authorization header with a Bearer token:

curl -H "Authorization: Bearer <your_token>" \
     https://api.wiki-eu.ru/api/v2/health

Authentication

Wiki EU API uses Bearer token authentication. Include your token in the HTTP header on every request:

Authorization: Bearer weu_live_xxxxxxxxxxxxxxxxxxxx

Tokens are scoped per project. Generate tokens in your Account Settings.

Tokens do not expire automatically but can be revoked at any time from the dashboard.

Rate Limits

PlanRequests / minBurst
Free205
Pro10030
Enterprise1 000200

Rate limit status is returned in every response header:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1744315260

Articles new

GET
/articles
Return paginated list of articles
GET
/articles/{id}
Retrieve a single article by ID
POST
/articles
Create a new article
PUT
/articles/{id}
Update an existing article
DELETE
/articles/{id}
Delete an article

Example response

{
  "data": [
    {
      "id": "art_01hvz3k8p",
      "title": "Getting Started with Wiki EU",
      "slug": "getting-started",
      "status": "published",
      "created_at": "2026-01-14T09:23:41Z"
    }
  ],
  "total": 142,
  "page": 1,
  "per_page": 20
}

Sync

The Sync API lets you push and pull incremental data changes between client applications and the Wiki EU backend.

GET
/sync
Poll for pending sync events (long-poll, up to 55 s)
POST
/sync
Push a batch of sync operations
Sync sessions expire after 10 minutes of inactivity. Re-establish the session by calling POST /sync with "action": "connect".

Request body (POST)

{
  "session_id": "550e8400-e29b-41d4-a716-446655440000",
  "action": "data",
  "payload": "<base64-encoded delta>",
  "timestamp": 1744315200
}

Health Check

GET
/health
Returns current API status. No authentication required.
{
  "status": "ok",
  "version": "2.4.1",
  "region": "eu-west"
}

Error Codes

HTTPCodeMeaning
400invalid_requestMalformed JSON or missing required field
401unauthorizedMissing or invalid Bearer token
403forbiddenToken lacks required scope
404not_foundResource does not exist
410goneSession expired
429rate_limitedToo many requests — back off and retry
502upstream_errorUpstream service temporarily unavailable
500internal_errorUnexpected server error

Changelog

v2.4.1 — March 2026

Improved long-poll timeout handling; fixed edge case in /sync session cleanup.

v2.4.0 — January 2026

Added multiMode support for high-throughput sync sessions. New region field in health endpoint.

v2.3.0 — October 2025

Introduced cursor-based pagination for /articles. Deprecated offset pagination (removal in v3.0).

v2.2.0 — July 2025

Rate limit headers added to all responses. Token scopes introduced.