Reference

API conventions

Cross-cutting rules that apply across endpoints, plus a few known inconsistencies worth knowing up front. See the API reference for per-endpoint detail and the workflows for runnable examples.

Authentication

  • Send your key in the X-API-KEY header on every request (except the public trial flow).
  • Keys are scoped: a tenant key may only act on its own {tenantId} (other tenants are masked as 404); a full (admin) key additionally sees administrative endpoints.
  • Responses are serialized in PascalCase (e.g. TenantId, ApiKey).

Pagination (three styles)

  • PageOptions (Discovery, Reporting, Monitoring): send PageSize and a Marker (the continuation token from the previous response's Options.Marker). Page size is capped at 100.
  • top / skip (Search): the documents endpoint uses raw top and skip integers (defaults 50 / 0).
  • OData: OData-enabled collections also honour $top / $skip / $orderby / $filter directly on the URL.

Filtering

  • The search endpoint takes a single OData filter string and a full-text query; collection fields use the any(...) lambda.
  • Discovery exposes convenience params filter.name / filter.type; OData-enabled endpoints accept $filter.
  • Multi-value query params repeat the key: ?jobTypes=BACKUP&jobTypes=RESTORE — not a comma-separated list.

Dates & times

  • Times are UTC ISO 8601 unless noted.
  • Date filters differ by area: Discovery item listing uses full timestamps (fromDate / toDate), while Reporting uses calendar dates (startDate / endDate, YYYY-MM-DD).

Resource ids

  • Route id segments are {id} on Location/Archive endpoints but {jobId} on Jobs — both are GUIDs.

Errors

  • 400 invalid input · 401 missing/invalid key · 404 not found or cross-tenant masked · 409 conflicting state · 429 rate-limited (trial endpoints) · 500 unexpected.