Skip to main content

Base URL and authentication

Every call is HTTPS with a JSON body (TLS only). The base URL is issued with the API key, and each environment has its own host and its own key, first rehearsal and then production.Every call carries the key in the Authorization header, as the whole header value:
The key is long-lived, in place of the 7-day link used for the file deliveries, and it is scoped to these calls. That is the API’s counterpart of the delivery-folder credential DCinside asked for.
Two keys are valid during a rotation, which happens on a fixed schedule. Keys are handed over outside Slack. A key can be limited to some calls, and a call outside its scope returns 403. If DCinside has fixed egress addresses, an IP allowlist can be added.

Formats


Idempotency

Calls that change state are safe to repeat.

Cycle interval

Five minutes is the proposed default. DCinside’s interval is a setting that starts at 2–5 minutes. cycle_time is on the five-minute grid and the model’s growth windows are built on a five-minute series, so this proposal starts at five. A shorter interval needs a change to the grid rule and to the window features.

Limits and timeouts

These limits are proposed. They come from the queue snapshots of 14–21 September: 649 posts were pending on average (p95 1,203, max 1,381), and 7.8 new posts arrived per five-minute cycle (p95 17, max 36).
Scoring runs inside the request, so the timeout has to cover embedding a burst of new posts. If synchronous scoring proves too slow, the call switches to a 202 reply and the result is polled from GET /v1/scores/{cycle_id}.