{ "openapi": "3.0.0", "info": { "version": "2.2.0", "title": "RivetKit API" }, "components": { "schemas": {}, "parameters": {} }, "paths": { "/actors": { "get": { "parameters": [ { "schema": { "type": "string" }, "required": false, "name": "name", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "actor_ids", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "key", "in": "query" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "actors": { "type": "array", "items": { "type": "object", "properties": { "actor_id": { "type": "string" }, "name": { "type": "string" }, "key": { "type": "string" }, "namespace_id": { "type": "string" }, "runner_name_selector": { "type": "string" }, "create_ts": { "type": "number" }, "connectable_ts": { "type": "number", "nullable": true }, "destroy_ts": { "type": "number", "nullable": true }, "sleep_ts": { "type": "number", "nullable": true }, "start_ts": { "type": "number", "nullable": true }, "error": { "nullable": true } }, "required": [ "actor_id", "name", "key", "namespace_id", "runner_name_selector", "create_ts" ] } } }, "required": [ "actors" ] } } } }, "400": { "description": "User error" }, "500": { "description": "Internal error" } } }, "put": { "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "datacenter": { "type": "string" }, "name": { "type": "string" }, "key": { "type": "string" }, "runner_name_selector": { "type": "string" }, "crash_policy": { "type": "string" }, "input": { "type": "string", "nullable": true } }, "required": [ "name", "key", "runner_name_selector", "crash_policy" ] } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "actor": { "type": "object", "properties": { "actor_id": { "type": "string" }, "name": { "type": "string" }, "key": { "type": "string" }, "namespace_id": { "type": "string" }, "runner_name_selector": { "type": "string" }, "create_ts": { "type": "number" }, "connectable_ts": { "type": "number", "nullable": true }, "destroy_ts": { "type": "number", "nullable": true }, "sleep_ts": { "type": "number", "nullable": true }, "start_ts": { "type": "number", "nullable": true }, "error": { "nullable": true } }, "required": [ "actor_id", "name", "key", "namespace_id", "runner_name_selector", "create_ts" ] }, "created": { "type": "boolean" } }, "required": [ "actor", "created" ] } } } }, "400": { "description": "User error" }, "500": { "description": "Internal error" } } }, "post": { "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "datacenter": { "type": "string" }, "name": { "type": "string" }, "runner_name_selector": { "type": "string" }, "crash_policy": { "type": "string" }, "key": { "type": "string", "nullable": true }, "input": { "type": "string", "nullable": true } }, "required": [ "name", "runner_name_selector", "crash_policy" ] } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "actor": { "type": "object", "properties": { "actor_id": { "type": "string" }, "name": { "type": "string" }, "key": { "type": "string" }, "namespace_id": { "type": "string" }, "runner_name_selector": { "type": "string" }, "create_ts": { "type": "number" }, "connectable_ts": { "type": "number", "nullable": true }, "destroy_ts": { "type": "number", "nullable": true }, "sleep_ts": { "type": "number", "nullable": true }, "start_ts": { "type": "number", "nullable": true }, "error": { "nullable": true } }, "required": [ "actor_id", "name", "key", "namespace_id", "runner_name_selector", "create_ts" ] } }, "required": [ "actor" ] } } } }, "400": { "description": "User error" }, "500": { "description": "Internal error" } } } }, "/actors/names": { "get": { "parameters": [ { "schema": { "type": "string" }, "required": true, "name": "namespace", "in": "query" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "names": { "type": "object", "additionalProperties": { "type": "object", "properties": { "metadata": { "type": "object", "additionalProperties": { "nullable": true } } }, "required": [ "metadata" ] } } }, "required": [ "names" ] } } } }, "400": { "description": "User error" }, "500": { "description": "Internal error" } } } }, "/actors/{actor_id}/kv/keys/{key}": { "get": { "parameters": [ { "schema": { "type": "string" }, "required": true, "name": "actor_id", "in": "path" }, { "schema": { "type": "string" }, "required": true, "name": "key", "in": "path" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "value": { "type": "string", "nullable": true } }, "required": [ "value" ] } } } }, "400": { "description": "User error" }, "500": { "description": "Internal error" } } } }, "/gateway/{actor}/health": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Health check", "content": { "text/plain": { "schema": { "type": "string" } } } } } } }, "/gateway/{actor}/action/{action}": { "post": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "action", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The name of the action to execute" }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "args": {} }, "required": [ "args" ], "additionalProperties": false } } } }, "responses": { "200": { "description": "Action executed successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "output": {} }, "required": [ "output" ], "additionalProperties": false } } } }, "400": { "description": "Invalid action" }, "500": { "description": "Internal error" } } } }, "/gateway/{actor}/request/{path}": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The HTTP path to forward to the actor" }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Response from actor's raw HTTP handler" } } }, "post": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The HTTP path to forward to the actor" }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Response from actor's raw HTTP handler" } } }, "put": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The HTTP path to forward to the actor" }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Response from actor's raw HTTP handler" } } }, "delete": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The HTTP path to forward to the actor" }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Response from actor's raw HTTP handler" } } }, "patch": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The HTTP path to forward to the actor" }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Response from actor's raw HTTP handler" } } }, "head": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The HTTP path to forward to the actor" }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Response from actor's raw HTTP handler" } } }, "options": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The HTTP path to forward to the actor" }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Response from actor's raw HTTP handler" } } } }, "/gateway/{actor}/inspector/state": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Current actor state", "content": { "application/json": { "schema": { "type": "object", "properties": { "state": {} } } } } }, "401": { "description": "Unauthorized" } } }, "patch": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "state": {} }, "required": [ "state" ] } } } }, "responses": { "200": { "description": "State updated", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/connections": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Current actor connections", "content": { "application/json": { "schema": { "type": "object", "properties": { "connections": { "type": "array", "items": { "type": "object" } } } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/rpcs": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Available actor actions/RPCs", "content": { "application/json": { "schema": { "type": "object", "properties": { "rpcs": { "type": "object" } } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/action/{name}": { "post": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "name", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The name of the action to execute" }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "args": { "type": "array", "items": {} } } } } } }, "responses": { "200": { "description": "Action executed successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "output": {} } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/queue": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 50 }, "description": "Maximum number of queue messages to return" }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Queue status", "content": { "application/json": { "schema": { "type": "object", "properties": { "size": { "type": "integer" }, "maxSize": { "type": "integer" }, "truncated": { "type": "boolean" }, "messages": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "createdAtMs": { "type": "integer" } } } } } } } } }, "401": { "description": "Unauthorized" } } }, "post": { "summary": "Enqueue a message from the inspector", "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Queue message name." }, "body": { "description": "Message payload. Any JSON value." } }, "required": [ "name" ] } } } }, "responses": { "200": { "description": "Enqueued message", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "createdAtMs": { "type": "integer" } } } } } }, "401": { "description": "Unauthorized" } } }, "delete": { "summary": "Clear the queue", "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." } ], "responses": { "200": { "description": "Queue cleared", "content": { "application/json": { "schema": { "type": "object" } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/traces": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "startMs", "in": "query", "required": false, "schema": { "type": "integer", "default": 0 }, "description": "Start of time range in epoch milliseconds" }, { "name": "endMs", "in": "query", "required": false, "schema": { "type": "integer" }, "description": "End of time range in epoch milliseconds. Defaults to now." }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 1000 }, "description": "Maximum number of spans to return" }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Trace spans in OTLP JSON format", "content": { "application/json": { "schema": { "type": "object", "properties": { "otlp": { "type": "object" }, "clamped": { "type": "boolean" } } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/workflow-history": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Workflow history and status", "content": { "application/json": { "schema": { "type": "object", "properties": { "history": {}, "isWorkflowEnabled": { "type": "boolean" } } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/workflow/replay": { "post": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "entryId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Workflow history after scheduling a replay", "content": { "application/json": { "schema": { "type": "object", "properties": { "history": {}, "isWorkflowEnabled": { "type": "boolean" } } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/summary": { "get": { "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Full actor inspector summary", "content": { "application/json": { "schema": { "type": "object", "properties": { "state": {}, "connections": { "type": "array", "items": { "type": "object" } }, "rpcs": { "type": "object" }, "queueSize": { "type": "integer" }, "isStateEnabled": { "type": "boolean" }, "isDatabaseEnabled": { "type": "boolean" }, "isWorkflowEnabled": { "type": "boolean" }, "workflowHistory": {} } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/queue/{name}": { "post": { "summary": "Send a queue message", "description": "Enqueue a message on the actor's queue. Optionally wait for the actor to complete it and return its response.", "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." }, { "name": "name", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Name of the queue message." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "body": { "description": "Message payload. Any JSON value." }, "wait": { "type": "boolean", "description": "Wait for the actor to complete the message and return its response.", "default": false }, "timeout": { "type": "integer", "description": "How long to wait for completion, in milliseconds. Only used with wait." } }, "required": [ "body" ] } } } }, "responses": { "200": { "description": "Message enqueued. When wait is true, also reports whether the actor completed it.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "completed", "timedOut" ], "description": "Whether the actor completed the message before the timeout." }, "response": { "description": "Value the actor passed to complete(). Present when status is completed." } }, "required": [ "status" ] } } } } } } }, "/gateway/{actor}/metadata": { "get": { "summary": "Get runtime metadata", "description": "Identify the RivetKit runtime serving the actor.", "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Runtime metadata", "content": { "application/json": { "schema": { "type": "object", "properties": { "runtime": { "type": "string", "description": "Always rivetkit." }, "version": { "type": "string", "description": "RivetKit version." }, "type": { "type": "string", "description": "Runtime flavor, such as native or wasm." } }, "required": [ "runtime", "version", "type" ] } } } } } } }, "/gateway/{actor}/": { "get": { "summary": "Actor root", "description": "Plain-text banner confirming the request reached a RivetKit actor.", "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-namespace", "description": "Engine namespace. Required when actor selects an actor name." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "get", "getOrCreate" ] }, "name": "rvt-method", "description": "Actor-name resolution method. Use get, or getOrCreate with rvt-pool or rvt-runner." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-key", "description": "Comma-separated actor key components for actor-name resolution." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-pool", "description": "Pool name. Required for getOrCreate unless rvt-runner is supplied." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-runner", "description": "Legacy runner name accepted as the pool selector for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-input", "description": "Base64url-encoded CBOR actor input for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-region", "description": "Preferred region for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "string", "enum": [ "restart", "sleep", "destroy" ] }, "name": "rvt-crash-policy", "description": "Crash policy for getOrCreate." }, { "in": "query", "required": false, "schema": { "type": "boolean" }, "name": "rvt-skip-ready-wait", "description": "Return after resolution without waiting for actor readiness." }, { "in": "query", "required": false, "schema": { "type": "string" }, "name": "rvt-token", "description": "Routing token. Credentials should be supplied by a trusted client provider, not constructed by models." } ], "responses": { "200": { "description": "Banner text", "content": { "text/plain": { "schema": { "type": "string" } } } } } } }, "/gateway/{actor}/inspector/database/schema": { "get": { "summary": "List SQLite tables", "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." } ], "responses": { "200": { "description": "Tables and views in the actor's SQLite database", "content": { "application/json": { "schema": { "type": "object", "properties": { "schema": { "type": "object", "properties": { "tables": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string", "enum": [ "table", "view" ] }, "columns": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" }, "notnull": { "type": "boolean" }, "pk": { "type": "boolean" } } } } } } } } } } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/database/rows": { "get": { "summary": "Read rows from a table", "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." }, { "name": "table", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Table or view to read." }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 100, "maximum": 500 }, "description": "Maximum rows to return." }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "default": 0 }, "description": "Rows to skip." } ], "responses": { "200": { "description": "Rows", "content": { "application/json": { "schema": { "type": "object", "properties": { "rows": { "type": "array", "items": { "type": "object", "additionalProperties": true } } } } } } }, "401": { "description": "Unauthorized" } } } }, "/gateway/{actor}/inspector/database/execute": { "post": { "summary": "Run a SQL statement", "parameters": [ { "name": "actor", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Actor ID, actor ID with @routing-token, or actor name used with the rvt-* selector query parameters.", "x-rivet-actor-selector": { "direct": [ "actor_id", "actor_id@routing_token" ], "query": { "required": [ "rvt-namespace", "rvt-method" ], "getOrCreateRequiresOneOf": [ "rvt-pool", "rvt-runner" ] } } }, { "name": "Authorization", "in": "header", "required": false, "schema": { "type": "string" }, "description": "Bearer token for inspector authentication. Required in production, optional in development." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "sql": { "type": "string", "description": "SQL statement to run against the actor's SQLite database." }, "args": { "type": "array", "items": {}, "description": "Positional bind parameters." }, "properties": { "type": "object", "additionalProperties": true, "description": "Driver-specific execution options." } }, "required": [ "sql" ] } } } }, "responses": { "200": { "description": "Result rows", "content": { "application/json": { "schema": { "type": "object", "properties": { "rows": { "type": "array", "items": { "type": "object", "additionalProperties": true } } } } } } }, "401": { "description": "Unauthorized" } } } } } }