Properties
| Name | Type | Description |
|---|---|---|
| deployment | object | |
| project | object | |
| projectRoute | object | |
| releaseUsability | object | |
| sourceDeploy | object | |
| actionPermissions | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/eurobase-dev/json-schema/eurobase-dev-deployment-response-schema.json",
"title": "DeploymentResponse",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/eurobase-dev-deployments-api-openapi.yml#/components/schemas/DeploymentResponse",
"type": "object",
"required": [
"deployment",
"project",
"projectRoute",
"releaseUsability",
"actionPermissions"
],
"properties": {
"deployment": {
"$ref": "#/$defs/Deployment"
},
"project": {
"$ref": "#/$defs/ProjectSummary"
},
"projectRoute": {
"$ref": "#/$defs/ProjectRoute"
},
"releaseUsability": {
"$ref": "#/$defs/ReleaseUsability"
},
"sourceDeploy": {
"oneOf": [
{
"$ref": "#/$defs/ProjectSourceDeploy"
},
{
"type": "null"
}
]
},
"actionPermissions": {
"type": "object",
"required": [
"canManageSource"
],
"properties": {
"canManageSource": {
"type": "boolean"
}
}
}
},
"$defs": {
"Deployment": {
"type": "object",
"required": [
"id",
"projectId",
"version",
"deploymentMode",
"runtime",
"runtimeWorkersReason",
"status",
"displayStatus",
"releaseKind",
"statusView",
"terminal",
"visible",
"stale",
"freshness",
"lastObservedAt",
"lastProvenExecutionPhase",
"displayStatusReasonCode",
"deployableOutput",
"actionAvailability",
"createdAt",
"updatedAt"
],
"properties": {
"id": {
"type": "string"
},
"projectId": {
"type": "string"
},
"version": {
"type": "integer"
},
"deploymentMode": {
"type": "string",
"enum": [
"runtime",
"static"
]
},
"runtime": {
"type": "string",
"enum": [
"workers",
"container",
"static"
],
"description": "Where this deployment runs: a Worker, a container, or static files."
},
"runtimeWorkersReason": {
"type": [
"string",
"null"
],
"description": "Why a Workers route of this deployment runs as a container instead, as short display copy of the build Job detection reason; null otherwise or when the reason has no display copy."
},
"primaryHostname": {
"type": [
"string",
"null"
],
"description": "The deployment's project's official address today (see ProjectSummary.primaryHostname)."
},
"provider": {
"type": [
"string",
"null"
],
"enum": [
"scaleway",
null
],
"description": "Owner/admin deployment detail proof only; list and contributor surfaces omit this field."
},
"imageRef": {
"type": [
"string",
"null"
],
"description": "Owner/admin deployment detail proof only; list and contributor surfaces omit this field."
},
"rollbackTargetImageRef": {
"type": [
"string",
"null"
],
"description": "Owner/admin deployment detail rollback proof only; list and contributor surfaces omit this field."
},
"status": {
"type": "string",
"enum": [
"queued",
"building",
"deploying",
"healthy",
"unhealthy",
"failed",
"rolled_back"
]
},
"displayStatus": {
"type": "string",
"enum": [
"queued",
"waiting_for_builder",
"building_image",
"waiting_for_deploy_runner",
"deploying",
"healthy",
"unhealthy",
"failed",
"rolled_back",
"status_check_delayed"
]
},
"releaseKind": {
"type": "string",
"enum": [
"runtime_release",
"static_release",
"deployment_attempt"
]
},
"statusView": {
"$ref": "#/$defs/DeploymentStatusView"
},
"terminal": {
"type": "boolean"
},
"visible": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"freshness": {
"type": "string",
"enum": [
"fresh",
"reconciling",
"stale"
]
},
"lastObservedAt": {
"type": "string",
"format": "date-time"
},
"lastProvenExecutionPhase": {
"type": [
"string",
"null"
],
"enum": [
"queued",
"waiting_for_builder",
"building_image",
"waiting_for_deploy_runner",
"deploying",
null
]
},
"displayStatusReasonCode": {
"type": "string",
"enum": [
"none",
"builder_capacity_wait_exceeded",
"build_output_delayed",
"deploy_runner_wait_exceeded",
"deploy_execution_delayed",
"projection_evidence_conflict"
]
},
"statusReason": {
"type": [
"string",
"null"
]
},
"failureSummary": {
"oneOf": [
{
"$ref": "#/$defs/DeploymentFailureSummary"
},
{
"type": "null"
}
]
},
"artifactType": {
"type": [
"string",
"null"
],
"enum": [
"static_archive",
null
]
},
"artifactRef": {
"type": [
"string",
"null"
],
"description": "Internal static artifact object key is withheld from member-readable responses; member clients must use deployableOutput."
},
"artifactSha256": {
"type": [
"string",
"null"
]
},
"publishTarget": {
"type": [
"string",
"null"
],
"description": "Internal static publish prefix is withheld from member-readable responses; member clients must use deployableOutput."
},
"detailRevision": {
"type": "string",
"description": "Always present on deployment detail; on project status, present only for the active, latest and in-progress deployments. Changes only when lifecycle, immutable output or preview detail is invalidated."
},
"deployableOutput": {
"type": "object",
"required": [
"kind",
"digest",
"displayLabel",
"deploymentId"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"runtime_image",
"static_artifact",
"app_release",
"none"
]
},
"digest": {
"type": [
"string",
"null"
]
},
"displayLabel": {
"type": "string"
},
"releaseId": {
"type": [
"string",
"null"
]
},
"deploymentId": {
"type": [
"string",
"null"
]
}
}
},
"actionAvailability": {
"type": "object",
"required": [
"canPromote",
"canRollback",
"canRebuild",
"rebuildBlockedReason",
"rebuildRecoveryAction",
"rebuildDescriptor",
"compatibleOutputKind",
"blockedReason",
"targetDeploymentId"
],
"properties": {
"canPromote": {
"type": "boolean"
},
"canRollback": {
"type": "boolean"
},
"canRebuild": {
"type": "boolean"
},
"rebuildBlockedReason": {
"type": [
"string",
"null"
],
"enum": [
"deployment-not-terminal",
"source-snapshot-unavailable",
"repository-access-unavailable",
"route-convergence-in-progress",
"source-build-engine-retired",
null
]
},
"rebuildRecoveryAction": {
"anyOf": [
{
"$ref": "#/$defs/DeploymentRebuildRecoveryAction"
},
{
"type": "null"
}
]
},
"rebuildDescriptor": {
"oneOf": [
{
"type": "object",
"required": [
"repository",
"branch",
"commitSha",
"domain"
],
"additionalProperties": false,
"properties": {
"repository": {
"type": [
"string",
"null"
],
"description": "Null for a folder uploaded from the CLI (ADR 0118)"
},
"branch": {
"type": [
"string",
"null"
]
},
"commitSha": {
"type": [
"string",
"null"
]
},
"sourceUploadSha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "The uploaded archive a folder deployment rebuilds"
},
"domain": {
"type": "string",
"description": "The project's official address the redeploy serves: its linked domain once one serves it, otherwise its eurobase.dev host"
}
}
},
{
"type": "null"
}
]
},
"compatibleOutputKind": {
"type": "string",
"enum": [
"runtime_image",
"static_artifact",
"app_release",
"none"
]
},
"blockedReason": {
"type": [
"string",
"null"
]
},
"targetDeploymentId": {
"type": [
"string",
"null"
]
}
}
},
"assetType": {
"type": [
"string",
"null"
],
"enum": [
"app",
"container",
null
]
},
"assetId": {
"type": [
"string",
"null"
]
},
"canonicalContainerDetailPath": {
"type": [
"string",
"null"
]
},
"previewCaptureStatus": {
"type": [
"string",
"null"
],
"enum": [
"pending",
"ready",
"failed",
null
]
},
"previewCapturedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"previewImageUrl": {
"type": [
"string",
"null"
],
"format": "uri-reference",
"description": "Same-origin API-owned authenticated preview image route path. Container deployment previews are exposed only on the selected project container detail screen model; generic deployment detail and container list rows keep this null. Missing preview storage read capability also returns null instead of failing the parent screen model."
},
"previewRefreshGeneration": {
"type": [
"integer",
"null"
]
},
"previewRefreshStatus": {
"type": [
"string",
"null"
],
"enum": [
"pending",
"failed",
null
]
},
"previewRefreshRequestedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"previewRefreshFailedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"previewRefreshError": {
"type": [
"string",
"null"
]
},
"routeConvergence": {
"oneOf": [
{
"type": "object",
"required": [
"state",
"statusLabel",
"pollRecommended"
],
"additionalProperties": false,
"properties": {
"state": {
"type": "string",
"enum": [
"recovering",
"exhausted",
"ready"
]
},
"statusLabel": {
"type": "string"
},
"pollRecommended": {
"type": "boolean"
}
}
},
{
"type": "null"
}
]
},
"providerMetadata": {
"$ref": "#/$defs/DeploymentProviderMetadata"
},
"lifecycle": {
"oneOf": [
{
"$ref": "#/$defs/DeploymentLifecycle"
},
{
"type": "null"
}
],
"description": "API-owned member-safe deployment lifecycle projection for the detail screen. Complete successful phase spans use durable deployment timing evidence; in-flight or incomplete spans use available deployment, event, and job evidence. Queue and dispatch gaps are assigned to the phase that owns the wait."
},
"timingEvidence": {
"oneOf": [
{
"$ref": "#/$defs/DeploymentTimingEvidence"
},
{
"type": "null"
}
],
"description": "Replay-stable API/DB-owned timing evidence. Incomplete historical or unobserved boundaries remain null and complete=false; values are never reconstructed from producer clocks or prunable events."
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"DeploymentFailureSummary": {
"type": "object",
"required": [
"category",
"phase",
"severity",
"headline",
"observedAt"
],
"properties": {
"category": {
"type": "string",
"enum": [
"clone_failed",
"build_failed",
"image_push_failed",
"deploy_failed",
"healthcheck_failed",
"runtime_startup_failed",
"runtime_startup_timeout",
"app_health_failed",
"route_activation_failed",
"platform_capacity_failed",
"invalid_runtime_config",
"internal_platform_error"
]
},
"phase": {
"type": "string",
"enum": [
"queue",
"build",
"deploy",
"healthcheck",
"system"
]
},
"severity": {
"type": "string",
"enum": [
"info",
"warning",
"error"
]
},
"headline": {
"type": "string"
},
"detail": {
"type": [
"string",
"null"
],
"description": "One short line: the typed failure reason in owner copy, never the raw reason code."
},
"explanation": {
"type": [
"string",
"null"
],
"description": "The full failure sentence shown in the status popover, when it says more than detail."
},
"fixCommand": {
"type": [
"string",
"null"
],
"description": "The command named in explanation that fixes the failure, offered for copying."
},
"observedAt": {
"type": "string",
"format": "date-time"
}
}
},
"DeploymentLifecycle": {
"type": "object",
"required": [
"source",
"phases"
],
"additionalProperties": false,
"properties": {
"source": {
"type": "string",
"enum": [
"api_projection"
]
},
"phases": {
"type": "array",
"minItems": 4,
"maxItems": 4,
"items": {
"$ref": "#/$defs/DeploymentLifecyclePhase"
}
}
}
},
"DeploymentLifecyclePhase": {
"type": "object",
"required": [
"key",
"label",
"status",
"startedAt",
"endedAt",
"durationMs",
"detailLabel",
"skipReason"
],
"additionalProperties": false,
"properties": {
"key": {
"type": "string",
"enum": [
"initialize",
"build",
"deploy",
"verify"
]
},
"label": {
"type": "string",
"enum": [
"Initialize",
"Build",
"Deploy",
"Verify"
]
},
"status": {
"type": "string",
"enum": [
"pending",
"running",
"recovering",
"completed",
"failed",
"skipped",
"unavailable"
]
},
"startedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"endedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"durationMs": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"detailLabel": {
"type": [
"string",
"null"
]
},
"skipReason": {
"type": [
"string",
"null"
],
"enum": [
"image-only",
null
]
}
}
},
"DeploymentProviderMetadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"visibility": {
"type": [
"string",
"null"
]
},
"supersededByDeploymentId": {
"type": [
"string",
"null"
]
},
"customDomainStatus": {
"type": [
"string",
"null"
]
},
"resolution": {
"type": [
"string",
"null"
]
}
}
},
"DeploymentRebuildRecoveryAction": {
"type": "object",
"required": [
"kind",
"label",
"href",
"disabled",
"reason"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"oauth",
"refresh",
"install",
"manage",
"review",
"disabled"
]
},
"label": {
"type": "string"
},
"href": {
"type": [
"string",
"null"
]
},
"disabled": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
}
},
"DeploymentStatusView": {
"type": "object",
"required": [
"code",
"primaryCode",
"primaryLabel",
"secondaryLabel",
"tone",
"freshnessLabel"
],
"additionalProperties": false,
"properties": {
"code": {
"type": "string",
"enum": [
"queued",
"waiting_for_builder",
"building_image",
"waiting_for_deploy_runner",
"deploying",
"healthy",
"unhealthy",
"failed",
"rolled_back",
"status_check_delayed"
]
},
"primaryCode": {
"type": "string",
"enum": [
"queued",
"waiting_for_builder",
"building_image",
"waiting_for_deploy_runner",
"deploying",
"healthy",
"unhealthy",
"failed",
"rolled_back"
]
},
"primaryLabel": {
"type": "string"
},
"secondaryLabel": {
"type": [
"string",
"null"
]
},
"tone": {
"type": "string",
"enum": [
"neutral",
"active",
"success",
"warning",
"danger"
]
},
"freshnessLabel": {
"type": [
"string",
"null"
],
"enum": [
"Refreshing",
"Status delayed",
null
]
}
}
},
"DeploymentTimingEvidence": {
"type": "object",
"additionalProperties": false,
"required": [
"version",
"complete",
"outcome",
"totalMs",
"userTotalMs",
"builderTimingsVersion",
"builderTimingsMs",
"publicMarkerProof",
"triggerReceivedAt",
"requestedAt",
"buildDispatchAt",
"builderReadyAt",
"callbackReceivedAt",
"callbackAcceptedAt",
"deployDispatchAt",
"deployWorkerClaimedAt",
"deployRunnerStartedAt",
"deployRunnerReadyAt",
"providerRequestStartedAt",
"providerReadyAt",
"brandedRouteProvedAt",
"activatedAt",
"terminalAt",
"warmRunnerTimingsMs"
],
"properties": {
"version": {
"type": "string",
"enum": [
"deployment-timing-evidence-v2",
"deployment-timing-evidence-v3"
]
},
"complete": {
"type": "boolean"
},
"outcome": {
"type": [
"string",
"null"
],
"enum": [
"healthy",
"rolled_back",
"failed",
"unhealthy",
null
]
},
"totalMs": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"userTotalMs": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"builderTimingsVersion": {
"type": [
"string",
"null"
],
"enum": [
"railpack-phase-timings-v1",
"railpack-phase-timings-v2",
"railpack-phase-timings-v3",
"source-build-phase-timings-v1",
null
]
},
"builderTimingsMs": {
"type": [
"object",
"null"
],
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"publicMarkerProof": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"required": [
"deploymentId",
"acceptedDigest",
"sourceFingerprint",
"requestIdSha256",
"apiObservedAt"
],
"properties": {
"deploymentId": {
"type": "string"
},
"acceptedDigest": {
"type": "string",
"pattern": "^(sha256:)?[a-f0-9]{64}$"
},
"sourceFingerprint": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
},
"requestIdSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"apiObservedAt": {
"type": "string",
"format": "date-time"
}
}
},
"triggerReceivedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"requestedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"buildDispatchAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"builderReadyAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"callbackReceivedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"callbackAcceptedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"deployDispatchAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"deployWorkerClaimedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"deployRunnerStartedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"deployRunnerReadyAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"providerRequestStartedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"providerReadyAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"brandedRouteProvedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"activatedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"terminalAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"warmRunnerTimingsMs": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"required": [
"dispatchToWorkerClaimMs",
"workerClaimToRunnerStartMs",
"runnerStartToProviderRequestMs",
"providerRequestToReadyMs"
],
"properties": {
"dispatchToWorkerClaimMs": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"workerClaimToRunnerStartMs": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"runnerStartToProviderRequestMs": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"providerRequestToReadyMs": {
"type": [
"integer",
"null"
],
"minimum": 0
}
}
}
}
},
"GitHubConnectAction": {
"type": "object",
"required": [
"kind",
"label"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"none",
"oauth",
"refresh",
"install",
"manage",
"review",
"disabled"
]
},
"label": {
"type": "string"
},
"href": {
"type": [
"string",
"null"
]
},
"disabled": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
}
},
"ProjectRoute": {
"type": "object",
"required": [
"status",
"reasonCode",
"managed",
"upstream"
],
"properties": {
"status": {
"type": "string",
"enum": [
"healthy",
"repairing",
"degraded",
"broken",
"unknown"
]
},
"reasonCode": {
"type": "string",
"enum": [
"none",
"dns_record_missing",
"dns_propagating",
"domain_binding_missing",
"tls_pending",
"missing_project_upstream",
"upstream_unreachable",
"ingress_unreachable",
"unmanaged_custom_domain",
"scw_mutation_failed"
]
},
"checkedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"lastRepairAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"lastError": {
"type": [
"string",
"null"
]
},
"managed": {
"type": "boolean"
},
"convergenceState": {
"type": [
"string",
"null"
],
"enum": [
"recovering",
"exhausted",
"ready",
null
]
},
"upstream": {
"$ref": "#/$defs/ProjectUpstreamState"
}
}
},
"ProjectServingSuspension": {
"type": "object",
"description": "An operator suspension of the project's public serving (ADR 0080). Operator notes and evidence are never included.",
"required": [
"state",
"reasonCategory",
"reasonLabel",
"since",
"supportEmail",
"policyUrl"
],
"properties": {
"state": {
"type": "string",
"enum": [
"suspended"
]
},
"reasonCategory": {
"type": "string",
"enum": [
"phishing",
"malware",
"shared_domain_abuse",
"spam",
"illegal_content",
"legal_order",
"other_policy_violation"
]
},
"reasonLabel": {
"type": "string"
},
"since": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"supportEmail": {
"type": "string"
},
"policyUrl": {
"type": "string"
}
},
"additionalProperties": false
},
"ProjectSourceDeploy": {
"type": "object",
"required": [
"available",
"
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://artifacts.apis.io/eurobase-dev/json-schema/eurobase-dev-deployment-response-schema.json
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/eurobase-dev-deployment-response"
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.