Restate · Schema
Deployment
Represents a Restate service deployment registration — a URI endpoint that hosts one or more durable services.
Durable ExecutionWorkflowsMicroservicesOrchestrationDistributed Systems
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the deployment. |
| uri | string | The URI of the service deployment endpoint. |
| protocol_type | string | The HTTP protocol type used for communication. |
| http_version | string | The HTTP version used (e.g., HTTP_2, HTTP_11). |
| additional_headers | object | Additional HTTP headers to include when calling the deployment. |
| created_at | string | ISO 8601 timestamp when the deployment was registered. |
| services | array | List of services hosted by this deployment. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/restate/refs/heads/main/json-schema/restate-deployment-schema.json",
"title": "Deployment",
"description": "Represents a Restate service deployment registration — a URI endpoint that hosts one or more durable services.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the deployment."
},
"uri": {
"type": "string",
"format": "uri",
"description": "The URI of the service deployment endpoint."
},
"protocol_type": {
"type": "string",
"description": "The HTTP protocol type used for communication.",
"enum": ["RequestResponse", "BidiStream"]
},
"http_version": {
"type": "string",
"description": "The HTTP version used (e.g., HTTP_2, HTTP_11)."
},
"additional_headers": {
"type": "object",
"description": "Additional HTTP headers to include when calling the deployment.",
"additionalProperties": {
"type": "string"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the deployment was registered."
},
"services": {
"type": "array",
"description": "List of services hosted by this deployment.",
"items": {
"$ref": "#/$defs/ServiceMetadata"
}
}
},
"required": ["id", "uri"],
"$defs": {
"ServiceMetadata": {
"type": "object",
"description": "Metadata for a Restate service.",
"properties": {
"name": {
"type": "string",
"description": "The service name."
},
"ty": {
"type": "string",
"description": "The service type.",
"enum": ["Service", "VirtualObject", "Workflow"]
},
"deployment_id": {
"type": "string",
"description": "The deployment that hosts this service."
},
"revision": {
"type": "integer",
"description": "The service revision number."
},
"public": {
"type": "boolean",
"description": "Whether the service is publicly accessible."
},
"idempotency_retention": {
"type": "string",
"description": "Duration for retaining idempotency keys."
},
"workflow_completion_retention": {
"type": "string",
"description": "Duration for retaining workflow completion state."
},
"handlers": {
"type": "array",
"items": {
"$ref": "#/$defs/HandlerMetadata"
}
}
},
"required": ["name", "ty"]
},
"HandlerMetadata": {
"type": "object",
"description": "Metadata for a durable handler within a service.",
"properties": {
"name": {
"type": "string",
"description": "The handler name."
},
"ty": {
"type": "string",
"description": "The handler type.",
"enum": ["Exclusive", "Shared", "Workflow"]
},
"input": {
"type": "object",
"description": "Input schema for the handler.",
"properties": {
"required": {"type": "boolean"},
"contentType": {"type": "string"},
"jsonSchema": {"type": "object"}
}
},
"output": {
"type": "object",
"description": "Output schema for the handler.",
"properties": {
"contentType": {"type": "string"},
"setContentTypeIfEmpty": {"type": "boolean"},
"jsonSchema": {"type": "object"}
}
}
},
"required": ["name", "ty"]
}
}
}