Observe · Schema
DatasetResource
Observe Dataset with properties.
CompanyObservabilityMonitoringLogsMetricsTracesAPMSnowflake
Properties
| Name | Type | Description |
|---|---|---|
| id | object | |
| label | string | |
| description | string | |
| icon | string | |
| kind | object | |
| source | stringnull | |
| lastUpdateSource | stringnull | |
| fieldList | array | |
| validFromField | stringnull | |
| validToField | stringnull | |
| labelField | stringnull | |
| primaryKey | array | |
| candidateKeys | array | |
| foreignKeys | array | |
| relatedKeys | array | |
| groupingKey | object | |
| correlationTags | array | |
| isSource | boolean | |
| interfaces | array | |
| contentType | object | The type of data this dataset contains. For Resource datasets, determined by the dataset kind. For other kinds, derived from the dataset's interface bindings. Returns Unknown if no recognized interfac |
| customFieldMappings | object | Custom field mappings associated with the dataset's content type. Maps canonical field names to column name(s). Most fields map to a single column, but some (e.g. metric "tag") allow multiple columns. |
| objectTags | object | |
| alignment | object | |
| compilationError | object | |
| managedBy | object | |
| dataTableViewState | stringnull | |
| defaultDashboard | object | |
| defaultInstanceDashboard | object | |
| isView | boolean | |
| isMonitor | boolean | |
| isMetricSMA | boolean | |
| accelerationType | object | |
| accelerationInfo | object | |
| createdBy | object | |
| updatedBy | object | |
| createdAt | object | |
| updatedAt | object | |
| storageIntegration | object | The storage integration associated with this dataset, if any. Returns null for datasets without a storage integration. When expand=true, includes a record object with label, type, and storageProvider. |
| definitionType | object | The kind of definition that produces this dataset. Always populated; classifies every dataset, including source datasets (datastreams / external tables) and rows whose stored kind is empty or corrupt. |
| score | number | Cosine similarity score (0–1). Only present when the `query` search parameter is used (semantic search). Omitted for non-semantic list requests. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/observeinc/main/json-schema/observeinc-dataset-resource-schema.json",
"title": "DatasetResource",
"description": "Observe Dataset with properties.",
"x-generated": "2026-10-13",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/observeinc-openapi.yml#/components/schemas/Dataset-Resource",
"type": "object",
"required": [
"id",
"label",
"description",
"icon",
"kind",
"source",
"lastUpdateSource",
"fieldList",
"validFromField",
"validToField",
"labelField",
"primaryKey",
"candidateKeys",
"foreignKeys",
"relatedKeys",
"groupingKey",
"correlationTags",
"isSource",
"interfaces",
"contentType",
"customFieldMappings",
"objectTags",
"alignment",
"compilationError",
"managedBy",
"dataTableViewState",
"defaultDashboard",
"defaultInstanceDashboard",
"isView",
"isMonitor",
"isMetricSMA",
"accelerationType",
"accelerationInfo",
"createdBy",
"updatedBy",
"createdAt",
"updatedAt",
"storageIntegration",
"definitionType",
"defaultQueryWindowSeconds"
],
"properties": {
"id": {
"$ref": "#/$defs/ObjectId",
"readOnly": true
},
"label": {
"type": "string"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"kind": {
"$ref": "#/$defs/Dataset-DatasetKind"
},
"source": {
"type": [
"string",
"null"
]
},
"lastUpdateSource": {
"type": [
"string",
"null"
]
},
"fieldList": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-FieldDesc"
}
},
"validFromField": {
"type": [
"string",
"null"
]
},
"validToField": {
"type": [
"string",
"null"
]
},
"labelField": {
"type": [
"string",
"null"
]
},
"primaryKey": {
"type": "array",
"items": {
"type": "string"
}
},
"candidateKeys": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"foreignKeys": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-ForeignKey"
}
},
"relatedKeys": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-RelatedKey"
}
},
"groupingKey": {
"anyOf": [
{
"$ref": "#/$defs/Dataset-GroupingKey"
},
{
"type": "null"
}
]
},
"correlationTags": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-CorrelationTag"
}
},
"isSource": {
"type": "boolean"
},
"interfaces": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-ImplementedInterface"
}
},
"contentType": {
"$ref": "#/$defs/DatasetContentType",
"description": "The type of data this dataset contains. For Resource datasets, determined by\nthe dataset kind. For other kinds, derived from the dataset's interface bindings.\nReturns Unknown if no recognized interface is found.\n"
},
"customFieldMappings": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "Custom field mappings associated with the dataset's content type. Maps canonical\nfield names to column name(s). Most fields map to a single column, but some\n(e.g. metric \"tag\") allow multiple columns. The exact set of keys depends on\nthe contentType. For example, a Log dataset might have {\"log\": [\"message\"]}, while\na Metric dataset might have {\"metric\": [\"metric_name\"], \"value\": [\"metric_value\"]}.\nEmpty if the dataset has no recognized content type.\n"
},
"objectTags": {
"$ref": "#/$defs/ObjectTags"
},
"alignment": {
"anyOf": [
{
"$ref": "#/$defs/Dataset-TimeAlignment"
},
{
"type": "null"
}
]
},
"compilationError": {
"anyOf": [
{
"$ref": "#/$defs/Dataset-CompilationError"
},
{
"type": "null"
}
]
},
"managedBy": {
"anyOf": [
{
"$ref": "#/$defs/ObjectRef"
},
{
"type": "null"
}
]
},
"dataTableViewState": {
"type": [
"string",
"null"
]
},
"defaultDashboard": {
"anyOf": [
{
"$ref": "#/$defs/ObjectRef"
},
{
"type": "null"
}
]
},
"defaultInstanceDashboard": {
"anyOf": [
{
"$ref": "#/$defs/ObjectRef"
},
{
"type": "null"
}
]
},
"isView": {
"type": "boolean"
},
"isMonitor": {
"type": "boolean"
},
"isMetricSMA": {
"type": "boolean"
},
"accelerationType": {
"$ref": "#/$defs/Dataset-AccelerationType"
},
"accelerationInfo": {
"$ref": "#/$defs/Dataset-AccelerationInfo"
},
"createdBy": {
"$ref": "#/$defs/User"
},
"updatedBy": {
"$ref": "#/$defs/User"
},
"createdAt": {
"$ref": "#/$defs/Time"
},
"updatedAt": {
"$ref": "#/$defs/Time"
},
"storageIntegration": {
"oneOf": [
{
"$ref": "#/$defs/StorageIntegration-Ref"
},
{
"type": "null"
}
],
"readOnly": true,
"description": "The storage integration associated with this dataset, if any.\nReturns null for datasets without a storage integration.\nWhen expand=true, includes a record object with label, type, and storageProvider.\n"
},
"definitionType": {
"$ref": "#/$defs/Dataset-DefinitionType",
"description": "The kind of definition that produces this dataset. Always populated;\nclassifies every dataset, including source datasets (datastreams /\nexternal tables) and rows whose stored kind is empty or corrupt.\n"
},
"score": {
"type": "number",
"format": "double",
"readOnly": true,
"description": "Cosine similarity score (0–1). Only present when the `query` search\nparameter is used (semantic search). Omitted for non-semantic list\nrequests.\n"
}
},
"$defs": {
"Dataset-AccelerationError": {
"title": "AccelerationError",
"type": "object",
"required": [
"time",
"errorText"
],
"properties": {
"time": {
"$ref": "#/$defs/Time"
},
"errorText": {
"type": "string"
}
}
},
"Dataset-AccelerationInfo": {
"title": "AccelerationInfo",
"type": "object",
"required": [
"state",
"stalenessSeconds",
"recentStalenessSeconds",
"stalenessReasons",
"userConfiguredTargetStalenessSeconds",
"targetExcludingDownstreamStalenessSeconds",
"effectiveTargetStalenessSeconds",
"rateLimitOverrideTargetStalenessSeconds",
"alwaysAccelerated",
"acceleratedRanges",
"targetAcceleratedRanges",
"freshnessTime",
"effectiveOnDemandMaterializationLengthDays",
"dataRetentionEnabled",
"effectiveDataRetentionPeriodDays",
"effectiveDataRetentionTimestamp",
"minimumDataTimestamp",
"hibernatedAt",
"errors"
],
"properties": {
"state": {
"$ref": "#/$defs/Dataset-AccelerationState"
},
"stalenessSeconds": {
"type": [
"integer",
"null"
],
"format": "int64",
"description": "Live staleness of the dataset. Null if alwaysAccelerated is true."
},
"recentStalenessSeconds": {
"type": [
"integer",
"null"
],
"format": "int64",
"description": "A stable, conservative measurement of what staleness the dataset is achieving\nover the past few hours. Null if alwaysAccelerated is true.\n"
},
"stalenessReasons": {
"type": "array",
"description": "Reasons explaining why this dataset's freshness is what it is.\nEmpty array indicates the dataset is meeting its freshness goal.\nToday the server returns at most one dominant reason; the list\nshape is reserved so we can return multiple stacked reasons\n(e.g. cost-throttle + decay together) in the future without an\nAPI contract change.\n",
"items": {
"$ref": "#/$defs/Dataset-StalenessReason"
}
},
"userConfiguredTargetStalenessSeconds": {
"type": [
"integer",
"null"
],
"format": "int64",
"description": "User-configured staleness target of the dataset. Set to default value if not set by user.\nActual target may be higher due to decaying or credit manager overrides.\n"
},
"targetExcludingDownstreamStalenessSeconds": {
"type": [
"integer",
"null"
],
"format": "int64",
"description": "Target staleness of the dataset, ignoring downstream freshness goals.\nThis can be higher than the configured staleness target due to decaying or credit manager overrides.\n"
},
"effectiveTargetStalenessSeconds": {
"type": [
"integer",
"null"
],
"format": "int64",
"description": "Effective target staleness of the dataset. This is the value that the dataset is being kept up to date to.\nThis can be higher or lower than the user-configured target staleness if the credit manager is active or downstream datasets staleness targets demand it.\n\nIf `effectiveTargetStalenessSeconds > userConfiguredTargetStalenessSeconds`, then the credit manager is active on this dataset, and\n`effectiveTargetStalenessSeconds == rateLimitOverrideTargetStalenessSeconds`.\nIf `effectiveTargetStalenessSeconds < userConfiguredTargetStalenessSeconds`, then a downstream dataset/monitor has a lower configured freshness goal.\nIf `effectiveTargetStalenessSeconds == userConfiguredTargetStalenessSeconds`, then the configured freshness goal is in effect.\n"
},
"rateLimitOverrideTargetStalenessSeconds": {
"type": [
"integer",
"null"
],
"format": "int64",
"description": "The target staleness override for this dataset from the credit manager, if\na transform credit rate limit is configured and is causing this dataset's\nconfigured freshness goal to be overridden.\n"
},
"alwaysAccelerated": {
"type": "boolean"
},
"acceleratedRanges": {
"type": "array",
"items": {
"$ref": "#/$defs/OpenTimeRange"
}
},
"targetAcceleratedRanges": {
"type": "array",
"items": {
"$ref": "#/$defs/OpenTimeRange"
}
},
"freshnessTime": {
"$ref": "#/$defs/NullableTime"
},
"effectiveOnDemandMaterializationLengthDays": {
"type": "integer",
"format": "int64"
},
"dataRetentionEnabled": {
"type": "boolean"
},
"effectiveDataRetentionPeriodDays": {
"type": [
"integer",
"null"
],
"format": "int64"
},
"effectiveDataRetentionTimestamp": {
"$ref": "#/$defs/NullableTime"
},
"minimumDataTimestamp": {
"$ref": "#/$defs/NullableTime"
},
"hibernatedAt": {
"$ref": "#/$defs/NullableTime"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-AccelerationError"
}
}
}
},
"Dataset-AccelerationState": {
"title": "AccelerationState",
"type": "string",
"description": "The state of the dataset's acceleration.\nInitializing: The dataset is newly created/updated and acceleration has just started.\nAccelerated: The dataset is accelerated and available for querying.\nAcceleratedImmediately: The dataset is accelerated and available for querying. The dataset is also in \"live mode\", meaning it is being updated as fast as possible.\nUnavailable: The dataset is not accelerated and is not available for querying due to a compilation error in the dataset or upstream.\nDisabled: The dataset is not accelerated and is available for querying due to user disablement. (e.g. dataset is a view)\nError: The dataset is not accelerated and may return outdated results due to a critical error.\n",
"enum": [
"Initializing",
"Accelerated",
"AcceleratedImmediately",
"Unavailable",
"Disabled",
"Error"
]
},
"Dataset-AccelerationType": {
"title": "AccelerationType",
"type": "string",
"enum": [
"InsertOnly",
"Aggregation",
"Other",
"NotSupported"
]
},
"Dataset-CompilationError": {
"title": "CompilationError",
"type": "object",
"required": [
"error",
"errorInDataset"
],
"properties": {
"error": {
"type": "string"
},
"errorInDataset": {
"description": "Reference to the upstream dataset that produced the compilation\nerror. Weak ref: in many cases the upstream dataset cannot be\nresolved (cross-workspace deletion, RBAC visibility, race with\nsoft-delete). When unresolvable, the field is null and the caller\nstill has the `error` string. The field is always present; only\nits value is nullable.\n",
"anyOf": [
{
"$ref": "#/$defs/DatasetRef"
},
{
"type": "null"
}
]
}
}
},
"Dataset-CorrelationTag": {
"title": "CorrelationTag",
"type": "object",
"required": [
"tag",
"path"
],
"properties": {
"tag": {
"type": "string"
},
"path": {
"$ref": "#/$defs/Dataset-FieldPath"
}
}
},
"Dataset-DataType": {
"title": "DataType",
"type": "string",
"enum": [
"None",
"Bool",
"Float64",
"Int64",
"String",
"Timestamp",
"Duration",
"IPv4",
"TDigest",
"Array",
"Object",
"Variant",
"Link",
"DatasetRef"
]
},
"Dataset-DatasetKind": {
"title": "DatasetKind",
"type": "string",
"enum": [
"Table",
"Resource",
"Event",
"Interval"
]
},
"Dataset-DefinitionType": {
"title": "DefinitionType",
"type": "string",
"description": "The kind of dataset definition. Values match `metatypes.TransformKind`'s\nstring constants verbatim where the backend has one (`OPAL`, `Builtin`,\n`LogDerived`); `Source` and `Invalid` are REST-side additions for\ndataset shapes the backend does not surface as a TransformKind.\n- OPAL: dataset is produced by an OPAL transform pipeline.\n- Builtin: dataset is produced by a built-in transform (e.g. canonical-trace).\n- LogDerived: dataset is a log-derived metric.\n- Source: dataset receives data directly (datastream or external table); it has no transform.\n- Invalid: the stored transform kind is empty or unrecognised. Indicates corrupt or partially-migrated data, or a legacy SQL-kind transform (no production datasets carry one as of 2026-05-14).\n",
"enum": [
"OPAL",
"Builtin",
"LogDerived",
"Source",
"Invalid"
]
},
"Dataset-FieldDesc": {
"title": "FieldDesc",
"type": "object",
"required": [
"name",
"type",
"indexDefs",
"linkDesc",
"isEnum",
"isSearchable",
"isHidden",
"isConst",
"isMetric"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"$ref": "#/$defs/Dataset-FieldType"
},
"indexDefs": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-IndexDefinition"
}
},
"linkDesc": {
"anyOf": [
{
"$ref": "#/$defs/Dataset-ForeignKey"
},
{
"type": "null"
}
]
},
"isEnum": {
"type": "boolean"
},
"isSearchable": {
"type": "boolean"
},
"isHidden": {
"type": [
"boolean",
"null"
]
},
"isConst": {
"type": "boolean"
},
"isMetric": {
"type": "boolean"
}
}
},
"Dataset-FieldPath": {
"title": "FieldPath",
"type": "object",
"required": [
"field",
"path"
],
"properties": {
"field": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"Dataset-FieldType": {
"title": "FieldType",
"type": "object",
"required": [
"tag"
],
"properties": {
"tag": {
"$ref": "#/$defs/Dataset-DataType"
}
}
},
"Dataset-ForeignKey": {
"title": "ForeignKey",
"type": "object",
"required": [
"label",
"targetDataset",
"targetStageLabel",
"targetLabelField",
"srcPaths",
"dstFields"
],
"properties": {
"label": {
"type": "string"
},
"targetDataset": {
"anyOf": [
{
"$ref": "#/$defs/DatasetRef"
},
{
"type": "null"
}
]
},
"targetStageLabel": {
"type": [
"string",
"null"
]
},
"targetLabelField": {
"type": [
"string",
"null"
]
},
"srcPaths": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-FieldPath"
}
},
"dstFields": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Dataset-GroupingElement": {
"title": "GroupingElement",
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"$ref": "#/$defs/Dataset-GroupingElementType"
},
"value": {
"type": "string"
}
}
},
"Dataset-GroupingElementType": {
"title": "GroupingElementType",
"type": "string",
"enum": [
"Field",
"Link"
]
},
"Dataset-GroupingKey": {
"title": "GroupingKey",
"type": "object",
"required": [
"elements"
],
"properties": {
"elements": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-GroupingElement"
}
}
}
},
"Dataset-ImplementedInterface": {
"title": "ImplementedInterface",
"type": "object",
"required": [
"path",
"mapping"
],
"properties": {
"path": {
"type": "string"
},
"mapping": {
"type": "array",
"items": {
"$ref": "#/$defs/Dataset-InterfaceFieldMapping"
}
}
}
},
"Dataset-IndexDefinition": {
"title": "IndexDefinition",
"type": "object",
"required": [
"field",
"type"
],
"properties": {
"field": {
"type": "string"
},
"type": {
"$ref": "#/$defs/Dataset-IndexType"
}
}
},
"Dataset-IndexType": {
"title": "IndexType",
"type": "string",
"enum": [
"TokenIndex",
"SubstringIndex",
"EqualityIndex",
"AutoClusteringIndex"
]
},
"Dataset-InterfaceFieldMapping": {
"title": "InterfaceFieldMapping",
"type": "object",
"required": [
"interfaceField",
"field"
],
"properties": {
"interfaceField": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
"Dataset-RelatedKey": {
"title": "RelatedKey",
"type": "object",
"required": [
"label",
"targetDataset",
"srcFields",
"dstFields"
],
"properties": {
"label": {
"type": "string"
},
"targetDataset": {
"$ref": "#/$defs/DatasetRef"
},
"srcFields": {
"type": "array",
"items": {
"type": "string"
}
},
"dstFields": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Dataset-StalenessReason": {
"title": "StalenessReason",
"type": "string",
"description": "A reason explaining why a dataset's freshness is what it is.\nConfiguredFreshnessGoal: The data meets the freshness goal set for this dataset, but that goal is loose enough to allow this staleness; set a tighter goal for fresher data.\nCreditManagerOverride: The acceleration credit manager raised the freshness goal to keep acceleration cost down.\nSlowAcceleration: Acceleration can't keep up with the freshness goal; optimizing the dataset's query or reducing its data volume can help.\nActiveBackfill: A backfill is accelerating historical data, which can reduce freshness until it finishes.\nDatasetHibernated: Ongoing acceleration is suspended because the dataset is hibernated; querying it resumes acceleration.\nUnusedDatasetHibernating: The freshness goal was relaxed because the dataset hasn't been queried recently; querying it restores the configured goal.\n",
"enum": [
"ConfiguredFreshnessGoal",
"CreditManagerOverride",
"SlowAcceleration",
"ActiveBackfill",
"DatasetHibernated",
"UnusedDatasetHibernating"
]
},
"Dataset-TimeAlignment": {
"title": "TimeAlignment",
"type": "object",
"required": [
"stepSizeNanoseconds",
"offsetNanoseconds"
],
"properties": {
"stepSizeNanoseconds": {
"$ref": "#/$defs/DurationNanoseconds"
},
"offsetNanoseconds": {
"$ref": "#/$defs/DurationNanoseconds"
}
}
},
"DatasetBrief": {
"title": "DatasetBrief",
"type": "object",
"description": "Brief record fields for a DatasetRef (label, description, iconUrl, contentType). Field naming mirrors ObjectBrief in this same file (iconUrl, not icon) for consistency across reference-brief pairs.\n",
"required": [
"label",
"description",
"iconUrl",
"contentType"
],
"properties": {
"label": {
"type": "string"
},
"description": {
"type": "string"
},
"iconUrl": {
"type": "string"
},
"contentType": {
"$ref": "#/$defs/DatasetContentType",
"description": "The type of data the referenced dataset contains — Resource, Log,\nMetric, OTelSpan, OTelTrace, or Unknown. Derived from the dataset's\nkind and interface bindings.\n"
}
}
},
"DatasetContentType": {
"title": "DatasetContentType",
"type": "string",
"description": "The type of data a dataset contains. For Resource datasets, this is\ndetermined by the dataset kind. For other kinds, it is derived from the\ndataset's interface bindings. Returns Unknown if no recognized interface\nis found.\n",
"enum": [
"Unknown",
"Resource",
"Log",
"Metric",
"OTelSpan",
"OTelTrace"
]
},
"DatasetRef": {
"title": "DatasetRef",
"type": "object",
"description": "A reference to a dataset. Always carries the id; the optional `record` field carries the brief metadata, populated when expand=true. Mirrors ObjectRef (see ObjectRef / ObjectBrief in this file).\n",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/$defs/ObjectId"
},
"record": {
"$ref": "#/$defs/DatasetBrief"
}
}
},
"DurationNanoseconds": {
"type": "string",
"format": "int64 nanoseconds"
},
"NullableTime": {
"type": [
"string",
"null"
],
"format": "RFC3339"
},
"ObjectBrief": {
"title": "ObjectBrief",
"type": "object",
"description": "Brief record fields for an ObjectRef. This type is polymorphic: additional fields pointing to specific object types (e.g. dataset, dashboard, monitor) may be added in the future as needed.\n",
"required": [
"label",
"description",
"iconUrl",
"managedBy"
],
"properties": {
"label": {
"type": "string"
},
"description": {
"type": "string"
},
"iconUrl": {
"type": "string"
},
"managedBy": {
"anyOf": [
{
"$ref": "#/$defs/ObjectRef"
},
{
"type": "null"
}
],
"description": "Owner/manager of this object. Always returned as an id-only ObjectRef even when the parent was requested with expand=true: `expand` populates a single layer of brief data, so `record.managedBy` on a brief is itself never expanded. Pass the inner id back through a separate request (or filter via CEL, which lazily resolves) to access the manager's brief."
}
}
},
"ObjectId": {
"type": "string",
"format": "ObjectId"
},
"ObjectRef": {
"title": "ObjectRef",
"type": "object",
"description": "A reference to another resource. Always carries the id; the optional `record` field carries the brief metadata, populated when expand=true. Brief expansion applies to one layer only — fields inside `record` that are themselves ObjectRefs (e.g. `record.managedBy`) are returned id-only, never with their own `record` populated. CEL filter expressions can deeper-resolve via lazy wrapper resolution if needed.\n",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/$defs/ObjectId"
},
"record": {
"$ref": "#/$defs/ObjectBrief"
}
}
},
"ObjectTags": {
"title": "ObjectTags",
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "User-applied tags for organization and discovery, as a map of tag key\nto a list of values. For example: {\"env\": [\"prod\", \"staging\"], \"team\": [\"platform\"]}.\n"
},
"OpenTimeRange": {
"title": "Open Time Range",
"description": "A time range with a start and/or end time.",
"type": "object",
"required": [
"startTime",
"endTime"
],
"properties": {
"startTime": {
"$ref": "#/$defs/NullableTime"
},
"endTime": {
"$ref": "#/$defs/NullableTime"
}
}
},
"StorageIntegration-Brief": {
"title": "StorageIntegrationBrief",
"type": "object",
"required": [
"label",
"type",
"storageProvider"
],
"description": "Expanded fields for a storage integration reference.\nPresent only when the parent resource is fetched with ?expand=true.\n",
"properties": {
"label": {
"type": "string"
},
"type": {
"$ref": "#/$defs/StorageIntegration-Type"
},
"storageProvider": {
"$ref": "#/$defs/StorageIntegration-StorageProvider"
}
}
},
"StorageIntegration-Ref": {
"title": "StorageIntegrationRef",
"type": "object",
"description": "A reference to a storage integration, used when embedded in other resources.\nAlways includes id. When the parent resource is fetched with ?expand=true,\nthe record object is present with label, type, and storageProvider.\n",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/$defs/ObjectId",
"readOnly": true
},
"record": {
"$ref": "#/$defs/StorageIntegration-Brief"
}
}
},
"StorageIntegration-StorageProvider": {
"title": "StorageProvider",
"type": "string",
"enum": [
"S3"
]
},
"StorageIntegration-Type": {
"title": "StorageIntegrationType",
"type": "string",
"enum": [
"Iceberg"
]
},
"Time": {
"type": "string",
"format": "RFC3339"
},
"User": {
"title": "User",
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"title": "User Identifier",
"$ref": "#/$defs/ObjectId"
},
"label": {
"title": "User Label",
"type": "string"
},
"timezone": {
"type": "string"
},
"locale": {
"type": "string"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/observeinc-dataset-resource"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.