Skip to main content

Overview

The Nomic HTTP API connects your systems to the same platform capabilities you use in the product—agents, file ingest, parsing, codes search, and organization administration.

Every request is versioned under one base URL on your Nomic instance. Use API keys from the Developer Console; responses follow shared conventions for errors, pagination, and rate limits.

Start here

What you can use

Base URL

https://<your-domain>.nomic.ai/api/v0

Replace <your-domain> with your organization's Nomic domain.

Authentication

Authenticate every request with an API key in the Authorization header. Two schemes are accepted — use whichever your HTTP client makes easier:

Authorization: Bearer npk_...

or HTTP Basic with the key as the username and an empty password (handy for curl -u and many SIEM/enterprise clients):

curl "https://<your-domain>.nomic.ai/api/v0/users" -u "$NOMIC_API_KEY:"

Create and manage API keys in the Developer Console at /developer on your Nomic instance. Each key is scoped to a specific user, and usage is attributed to that user's account.

Scopes

API keys are granted scopes that control which API areas they can access. When creating a key, choose one or both of the broad scopes below.

Developer scope

ScopeGrants access to
developerDeveloper APIs such as files, parsing, agents, codes.

Admin scope

Admin access requires the key owner to be an organization admin.

ScopeGrants access to
adminAdmin APIs such as users, analytics, API keys, and audit logs.

The admin scope covers the granular admin scopes, including admin:analytics:read used by the Analytics endpoints.

Errors

All API error responses return a JSON body with:

  • error: Human-readable description of what went wrong.
  • code: Machine-readable error code you can use for programmatic handling.
  • issues (optional): Validation details for schema/path/query/body validation failures.
{
"error": "File version not found",
"code": "not_found"
}

Validation failures may include additional field-level details:

{
"error": "Invalid request body",
"code": "bad_request",
"issues": [
{
"path": ["fileVersionId"],
"message": "Required"
}
]
}

Status codes

CodeMeaning
400Bad request — invalid or missing parameters
401Missing or invalid API key
403API key lacks the required scope
404Resource not found or not accessible
413Payload too large (file upload exceeds 500 MB)
422Schema validation failed
429Rate limit exceeded — see Rate limits
500Internal server error
501Feature unavailable on this instance
503Dependent service not configured

Error codes

Every error response — including authentication (401/403) and rate-limit (429) failures — carries a stable, machine-readable code. Branch on code rather than parsing the human-readable error message:

codeTypical statusMeaning
bad_request400Invalid or missing parameters
unauthorized401Missing or invalid API key
payment_required402Spend limit reached
forbidden403Authenticated but missing the required scope
not_found404Resource not found or not accessible
conflict409Request conflicts with current state
unprocessable_entity422Schema validation failed
rate_limited429Rate limit exceeded — see the Retry-After header
internal_server_error500Unexpected server error
not_implemented501Feature unavailable on this instance

Pagination

List endpoints use cursor-based pagination. Pass limit to control page size and cursor to fetch the next page.

curl "https://<your-domain>.nomic.ai/api/v0/users?limit=25" \
-H "Authorization: Bearer $NOMIC_API_KEY"

The response includes:

FieldTypeDescription
dataarrayItems for the current page
nextCursorstring or absentPass as cursor to fetch the next page. Absent when there are no more results.
totalCountnumberTotal matching items across all pages

Stability

All v0 endpoints are currently experimental. Request and response shapes may change between releases. We recommend testing against your integration when upgrading.

More resources

Agents in depth: Agent API · Quickstart · SKILL.md (plain text)