---
title: "Managing endpoints"
description: "Create and operate *.arkor.app endpoints: targets, auth modes, API keys, run retention, and lifecycle."
---

An endpoint is a dedicated URL of the form `https://<slug>.arkor.app` that serves OpenAI-compatible chat completions, and Anthropic's Messages API for the models that support it. Each endpoint belongs to a project and is managed from the project's **Endpoints** tab. The wire protocol, including which models are served on which surface, is documented in the [Chat Completions API](/docs/cloud/chat-completions) reference.

## Creating an endpoint

**Endpoints → New endpoint** asks for four things.

![The new endpoint form](/images/cloud/endpoint-new-light.png "www.arkor.ai/oddphin-org/support-bot/endpoints/new")
![The new endpoint form](/images/cloud/endpoint-new-dark.png "www.arkor.ai/oddphin-org/support-bot/endpoints/new")

### Subdomain slug

The slug becomes the endpoint's subdomain. Rules:

- 2 to 50 characters, lowercase letters, digits, and hyphens.
- No leading or trailing hyphen.
- Globally unique across all of Arkor. A taken slug returns a conflict error.
- Reserved words (`www`, `api`, `app`, `admin`, `dashboard`, `docs`, `status`, and similar) are rejected.

### Target

What the endpoint serves. Four choices:

- **A job's final adapter.** The LoRA adapter produced by a completed training job, served on top of the job's base model.
- **A specific checkpoint.** A mid-run checkpoint of a training job, selected by step.
- **Base model only.** A supported base model with no adapter.
- **All public models (multi-model).** Every public model in the Arkor catalog. Callers pick one per request with the OpenAI `model` field; omitting it uses the default model, `GET /v1/models` lists the current ids, and newly published models appear on the endpoint automatically. (One-click endpoints from the home page use this target.)

Arkor Cloud validates the target at creation time: the job must belong to the same project, the adapter artifact must exist, and the base model must be registered for inference.

### Auth mode

- **Fixed API key** (recommended): callers must present a key via `Authorization: Bearer` or `x-api-key`.
- **No auth (public)**: anyone with the URL can call the endpoint.

### Run retention

Controls whether requests and responses are recorded for [Run history](/docs/cloud/runs):

- **Keep for N days** (default: 7). The dashboard accepts 1 to 365 days.
- **Unlimited** — transcripts are kept until you delete them.
- **Don't store** — nothing is recorded for new requests; runs stored before a retention change keep their original lifecycle (see [Run history](/docs/cloud/runs#retention)).

## API keys

Endpoints in fixed-key mode can have up to 20 enabled keys, each with a label (up to 80 characters, unique among enabled keys).

![An endpoint's detail page with its URL, settings, API keys, and run history](/images/cloud/endpoint-detail-light.png "www.arkor.ai/oddphin-org/support-bot/endpoints/oddphin-support")
![An endpoint's detail page with its URL, settings, API keys, and run history](/images/cloud/endpoint-detail-dark.png "www.arkor.ai/oddphin-org/support-bot/endpoints/oddphin-support")

- The plaintext key is shown **once**, at creation. Only a hash and a display prefix are stored.
- Each key can be revoked individually. Revocation takes effect within about 30 seconds (the edge caches deployment state briefly).
- The list shows each key's label and prefix.

Hand out separate keys per consumer so you can revoke one without rotating the others.

## Editing an endpoint

From the endpoint detail page you can, at any time:

- **Change the auth mode** or **run retention**.
- **Disable / enable** the endpoint. Disabled endpoints stop serving but keep their slug and configuration.

The target itself has no dashboard control today: retargeting the same URL to another job, checkpoint, or base model is done through the [SDK's deployments API](/docs/framework/sdk/deployments), which updates the endpoint in place without clients noticing.

## Deleting an endpoint

Delete removes the endpoint with its keys and stored run history. Serving stops within the same roughly 30-second window as key revocation (edge instances briefly cache deployment state). The slug is normally free to register again right away; only when a large stored-run history has to be drained by the background sweeper does it stay reserved until that cleanup finishes.

## Anonymous endpoints

Endpoints created without an account behave differently: one-click endpoints from the home page expire after 7 days (see [One-click endpoint](/docs/cloud/app-server)), and anonymous identities are capped in how many live endpoints they can hold. Account-owned endpoints never expire.
