Skip to content

Ingest External Observation

POST
/v1/external-observations
curl --request POST \
--url https://example.com/v1/external-observations \
--header 'Content-Type: application/json' \
--data '{ "schema_version": "fractalops.external-observation.v1", "acquisition_id": "example", "source": "example", "resource": "example", "transport": "api", "status": "succeeded", "observed_at": "2026-04-15T12:00:00Z", "expires_at": "2026-04-15T12:00:00Z", "artifact": { "ref": "example", "media_type": "example", "sha256": "example", "schema_ref": "https://example.com" }, "cursor": "example", "provenance": { "collector_ref": "example", "run_ref": "example", "idempotency_key": "example" }, "error": { "code": "example", "retryable": true } }'
x-api-key
Any of:
string
Media typeapplication/json
One of:
FractalOps External Observation Contract
object
schema_version
required
Allowed value: fractalops.external-observation.v1
acquisition_id
required
string
>= 1 characters
source
required
string
>= 1 characters
resource
required
string
>= 1 characters
transport
required
Allowed values: api browser
status
required
Allowed value: succeeded
observed_at
required
string format: date-time
expires_at
string format: date-time
artifact
required
object
ref
required
string
>= 1 characters
media_type
required
string
>= 1 characters
sha256
required
string
/^[a-f0-9]{64}$/
schema_ref
string format: uri
cursor
string
>= 1 characters
provenance
required
object
collector_ref
required
string
>= 1 characters
run_ref
required
string
>= 1 characters
idempotency_key
required
string
>= 1 characters
error
object
code
required
string
/^[a-z][a-z0-9_]*$/
retryable
required
boolean

Successful Response

Media typeapplication/json
ExternalObservationAcceptedOut
object
status
required
Status
string
tenant_id
required
Tenant Id
string
acquisition_id
required
Acquisition Id
string
Examplegenerated
{
"status": "example",
"tenant_id": "example",
"acquisition_id": "example"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}