Add a custom endpoint
Add a custom OpenAI-compatible endpoint (public HTTPS only). The base URL is normalised and validated with the key before saving; the key is encrypted at rest and never returned.
A refused validation is a 400 with one coarse code (endpoint_blocked,
endpoint_unreachable, endpoint_tls_error, endpoint_timeout,
endpoint_auth_failed, endpoint_not_found, endpoint_invalid_response,
endpoint_redirected). An endpoint without a model list (endpoint_not_found)
is saved when manual_models are given, with last_discovery_error set.
An account holds at most 10 endpoints (409 custom_endpoint_limit_reached);
names are unique per account ignoring case (409 custom_endpoint_name_taken).
A transient failure is 503 key_validation_unavailable. Each check draws
from the user’s validation budget (429 rate_limited).
Authorizations
JWT authentication token
Body
A malformed field (name, key or URL length, a manual model ID that does not match the model ID pattern, more than 50 manual IDs) is a 400 with the code invalid_request.
Bearer API key (encrypted at rest, never returned)
4096Public https base URL on port 443, as the provider documents it (Neo appends nothing but /models)
2048Name for the endpoint (1 to 80 characters)
80Model IDs to offer in addition to the listed ones (at most 50 after removing duplicates)
Response
Custom endpoint created
A custom OpenAI-compatible endpoint. The API key is never returned.
Normalised https base URL, as the provider documents it (usually ending in /v1)
The user's name for the endpoint, unique per account ignoring case
Whether the key was accepted by the endpoint
Stable code of the last model-list failure (for example endpoint_not_found); null after a successful listing
Model IDs typed by the user

