Skip to main content
The NeuronSearchLab Core API is the data-plane surface for catalog ingestion, event ingestion, recommendation serving, and query-driven search.
Use this API when your application backend needs to create catalog items, submit user events, or fetch recommendations for your app experience. If you are looking to automate console data, tenant configuration, training, analytics, billing, or other control-plane workflows, use the Platform API instead.

Core API vs Platform API

The Core API belongs behind your own server-side boundary. Do not expose OAuth client credentials, access tokens, or direct Core API calls from a browser or mobile client.

Base URLs

Use the Core API domain for resource calls and the auth domain for token exchange. The token endpoint is unauthenticated, lives on the auth subdomain, and is rate-limited independently from resource traffic.

Authentication

Protected endpoints require a Bearer token:
Tokens are issued with OAuth 2.0 client credentials. Access tokens expire after 3600 seconds by default and should be refreshed by your backend before expiry. Required scopes:
The slash-delimited scope names are the current Cognito-issued values. Client libraries should treat the full string as opaque and split scopes only on spaces.

Object Model

Every resource response includes a read-only object discriminator. Resource IDs are opaque strings unless an endpoint documents a numeric server-generated ID. Contexts are console configuration records, not Core API resources; pass the numeric console context ID, for example 101, when a recommendation request should use one.

Timestamps

Datetime fields are Unix timestamps in integer seconds.
  • Use created for resource creation time.
  • Use <verb>ed_at for action-derived timestamps such as occurred_at.
  • Use future-tense fields such as expires_at for future scheduled times.
  • Do not use created_at in Core API payloads.

Pagination

List endpoints use cursor-style pagination:
List responses use this envelope:
limit defaults to 20 and is capped at 100.

Errors

Errors use a consistent JSON envelope:
Common statuses are 400 for invalid requests, 401 for missing or invalid credentials, 403 for insufficient scope, 404 for missing resources, 409 for create conflicts, 429 for rate limits, and 500 for unexpected server errors.

Endpoints

Each endpoint supports OPTIONS preflight with standard CORS headers.