EdgeChat IDs API

The Ids API from EdgeChat — 1 operation(s) for ids.

GitHub OpenAPI

Operations 1

POST /ids/translate Translate saved article IDs after a corpus migration #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/edgechat-ai:edgechat-ai-ids-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

edgechat-ai-ids-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Edgepedia IDs API
  version: '1'
  description: Read-only JSON access to the Edgepedia encyclopedia articles. Keyless. 600 requests a minute and 100,000 a day per IP address (429 with Retry-After past that). Free with credit under the Edgepedia Community License 1.0; AI training is open to everyone.
  license:
    name: Edgepedia Community License 1.0
    url: https://www.edgechat.ai/edgepedia/license
  contact:
    url: https://www.edgechat.ai/developers
    name: EdgeChat
    email: olivia.jin@biostate.ai
  x-logo:
    url: https://www.edgechat.ai/assets/edgechat-chestnut-orange-logo-v2.png
    altText: EdgeChat
    backgroundColor: '#FFFFFF'
    href: https://www.edgechat.ai/developers
  x-origin:
  - format: openapi
    version: '3.1'
    url: https://www.edgechat.ai/openapi.json
servers:
- url: https://www.edgechat.ai/api/v1
tags:
- name: IDS
paths:
  /ids/translate:
    post:
      operationId: translateArticleIds
      summary: Translate saved article IDs after a corpus migration
      description: Available with the v1.5 ID migration enabled. Returns mappings only for IDs that moved, including merged IDs. Current unchanged or unknown IDs are omitted. Each requested ID counts against the per-IP limit; respect Retry-After and checkpoint completed batches.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - ids
              properties:
                ids:
                  type: array
                  items:
                    type: string
                  maxItems: 500
                  description: Up to 500 distinct saved article IDs.
            example:
              ids:
              - ep7rbwcy0a
      responses:
        '200':
          description: Requested ID to canonical survivor ID; unmoved and unknown IDs are omitted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranslateArticleIdsResponse'
              examples:
                live:
                  summary: POST https://www.edgechat.ai/api/v1/ids/translate
                  description: 'A live answer of 2026-10-07: arrays cut to two items, long text cut with an ellipsis.'
                  value: {}
          headers:
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            ETag:
              $ref: '#/components/headers/ETag'
            Last-Modified:
              $ref: '#/components/headers/Last-Modified'
            Content-Digest:
              $ref: '#/components/headers/Content-Digest'
            Edgepedia-Corpus-Version:
              $ref: '#/components/headers/Edgepedia-Corpus-Version'
        '400':
          description: Invalid body or too many IDs.
          headers:
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
        '429':
          description: Per-IP limit reached. Retry-After gives the wait in seconds.
          headers:
            Retry-After:
              description: Seconds to wait before the next request.
              schema:
                type: integer
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
        '503':
          description: Translation is temporarily unavailable.
          headers:
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
        '405':
          description: The migration is not enabled, or this route was called without POST.
          headers:
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
      tags:
      - IDS
components:
  headers:
    RateLimit-Policy:
      description: 'The limiter''s two windows, per IP address and per server instance (IETF RateLimit header fields): 600 requests a minute and 100,000 a day.'
      schema:
        type: string
        example: '"minute";q=600;w=60, "day";q=100000;w=86400'
    RateLimit:
      description: 'On a 429 only: the window that was exceeded, no requests remaining (r=0), and the seconds until it resets (t).'
      schema:
        type: string
        example: '"minute";r=0;t=42'
    Content-Digest:
      description: sha-256 of the body (RFC 9530).
      schema:
        type: string
    Edgepedia-Corpus-Version:
      description: The corpus release that answered.
      schema:
        type: string
    Last-Modified:
      description: The corpus release date (informational; only the ETag validates).
      schema:
        type: string
    ETag:
      description: A hash of the body; send it back as If-None-Match for a 304.
      schema:
        type: string
  schemas:
    TranslateArticleIdsResponse:
      type: object
      description: Each renumbered id asked → its current id; an unknown, current, or malformed id is left out.
      additionalProperties:
        type: string