---
title: "Translate saved article IDs after a corpus migration"
method: POST
path: "/ids/translate"
---

# Translate saved article IDs after a corpus migration

`POST /ids/translate`

## Request

- Base URL: `https://www.edgechat.ai/api/v1`
- URL: `https://www.edgechat.ai/api/v1/ids/translate`
- Auth: none declared

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.

## Request body

- object
  - `ids` string[], required: Up to 500 distinct saved article IDs.

## Response `200`

Requested ID to canonical survivor ID; unmoved and unknown IDs are omitted.

- TranslateArticleIdsResponse: Each renumbered id asked → its current id; an unknown, current, or malformed id is left out.

## Other responses

- `400`: Invalid body or too many IDs.
- `405`: The migration is not enabled, or this route was called without POST.
- `429`: Per-IP limit reached. Retry-After gives the wait in seconds.
- `503`: Translation is temporarily unavailable.

---

[API](https://skmtc.dev/edgechat/apis/edgepedia-api.md) · [All operations](https://skmtc.dev/edgechat/apis/edgepedia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/edgechat/apis/edgepedia-api/revisions/cd4eb5972d56?raw)
