Create an ingest route.

Beta — schema may still change; breaking changes are coordinated with affected customers. Suitable for evaluation, not production reliance.

Creates an ingest route. The destination ID must be the ID of a source
dataset whose type matches the type path parameter. Returns the created
route.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
enum
required

The type of the ingest route to query. These types correspond to the various source dataset schemas supported by Observe.
any refers to the "default" generic source dataset schema with the FIELDS and EXTRA columns. All of the others
correspond to direct-write source datasets. Each type is also associated with particular ingest HTTP endpoints that emit
compatible data for that type. Incoming data on a given endpoint is routable to any dataset of the corresponding type.

The following [type -> ingest path] mappings are defined:

  • otellogs <-> /v1/otel/v1/logs
  • otelmetrics <-> /v1/otel/v1/metrics
  • oteltraces <-> /v1/otel/v1/traces
  • prometheus <-> /v1/prometheus
  • k8sentity <-> /v1/kubernetes
  • any <-> /v1/*
Allowed:
Body Params

A new route is created disabled, and is ignored by the ingest pipeline until you enable it with a PATCH. The one exception is the default route, which is always enabled.

A new route is assigned the lowest priority among non-default routes, so it is evaluated last. Use PATCH /v1/ingest/routes/{type} to reorder.

Creating the first route for a type also creates that type's default route automatically, so that no observation is left unrouted.

string
required

OPAL expression acting as the match predicate for this route, compiled against the destination dataset's schema. A compile error is rejected with a 400.

Pass an empty string to create the type's default route, the catch-all evaluated after every other route. Once a default route exists, an empty pipeline is rejected with a 400.

Two restrictions apply per type:

  • oteltraces supports only the default route. A non-empty pipeline is rejected with a 400.
  • Some types restrict which columns the expression may reference: prometheus, k8sentity, and oteltraces allow only meta; otelmetrics allows meta and metric. otellogs and any are unrestricted. Referencing any other column is rejected with a 400.

Unlike a drop filter, a route predicate that fails at evaluation time fails the whole bundle rather than failing open. Expressions are therefore rejected at creation if they reference columns that cannot be resolved.

layout
object

Opaque JSON blob round-tripped to the frontend; not interpreted by the server.

string
required

Primary destination dataset ID. Must be a source dataset whose type matches the type path parameter.

string

Optional secondary destination dataset ID, subject to the same type check as destinationId. When set, matching observations are written to both destinations. Omit to leave unset; use PATCH with an explicit null to clear it later.

Responses

Language
Credentials
Bearer
Authorization: Bearer <customerid> <apitoken>
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json