{ "openapi": "3.1.0", "info": { "title": "Diom API", "description": "Welcome to the Diom API documentation!\n", "version": "0.2.4", "x-logo": { "altText": "Svix Logo", "url": "https://www.svix.com/static/img/brand-padded.svg" } }, "paths": { "/api/v1.cluster-admin.status": { "get": { "tags": [ "ClusterAdmin" ], "summary": "Cluster Status", "description": "Get information about the current cluster", "operationId": "v1.cluster-admin.status", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterStatusOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cluster-admin status" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.ClusterAdmin.Status(ctx)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getClusterAdmin.status();" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.clusterAdmin.status();" }, { "lang": "Python", "label": "Python", "source": "response = diom.cluster_admin.status();" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cluster_admin()\n .status()\n .await?;" } ] } }, "/api/v1.cluster-admin.initialize": { "post": { "tags": [ "ClusterAdmin" ], "summary": "Cluster Initialize", "description": "Initialize this node as the leader of a new cluster\n\nThis operation may only be performed against a node which has not been\ninitialized and is not currently a member of a cluster.", "operationId": "v1.cluster-admin.initialize", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterInitializeIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterInitializeOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cluster-admin initialize '{}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.ClusterAdmin.Initialize(\n ctx,\n ClusterInitializeIn{\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getClusterAdmin.initialize(\n new ClusterInitializeIn()\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.clusterAdmin.initialize({});" }, { "lang": "Python", "label": "Python", "source": "response = diom.cluster_admin.initialize(\n ClusterInitializeIn(),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cluster_admin()\n .initialize(\n ClusterInitializeIn::new(),\n )\n .await?;" } ] } }, "/api/v1.cluster-admin.remove-node": { "post": { "tags": [ "ClusterAdmin" ], "summary": "Cluster Remove Node", "description": "Remove a node from the cluster.\n\nThis operation executes immediately and the node must be wiped and reset\nbefore it can safely be added to the cluster.", "operationId": "v1.cluster-admin.remove-node", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterRemoveNodeIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterRemoveNodeOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cluster-admin remove-node '{\n \"node_id\": \"a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.ClusterAdmin.RemoveNode(\n ctx,\n ClusterRemoveNodeIn{\n NodeId: \"a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getClusterAdmin.removeNode(\n new ClusterRemoveNodeIn()\n .nodeId(\"a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.clusterAdmin.removeNode({\n nodeId: \"a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.cluster_admin.remove_node(\n ClusterRemoveNodeIn(\n node_id = \"a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cluster_admin()\n .remove_node(\n ClusterRemoveNodeIn::new(\"a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.cluster-admin.force-snapshot": { "post": { "tags": [ "ClusterAdmin" ], "summary": "Cluster Force Snapshot", "description": "Force the cluster to take a snapshot immediately", "operationId": "v1.cluster-admin.force-snapshot", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterForceSnapshotIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterForceSnapshotOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cluster-admin force-snapshot '{}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.ClusterAdmin.ForceSnapshot(\n ctx,\n ClusterForceSnapshotIn{\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getClusterAdmin.forceSnapshot(\n new ClusterForceSnapshotIn()\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.clusterAdmin.forceSnapshot({});" }, { "lang": "Python", "label": "Python", "source": "response = diom.cluster_admin.force_snapshot(\n ClusterForceSnapshotIn(),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cluster_admin()\n .force_snapshot(\n ClusterForceSnapshotIn::new(),\n )\n .await?;" } ] } }, "/api/v1.cluster-admin.force-election": { "post": { "tags": [ "ClusterAdmin" ], "summary": "Cluster Force Election", "description": "Force the cluster to conduct an election immediately", "operationId": "v1.cluster-admin.force-election", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterForceElectionIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterForceElectionOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cluster-admin force-election '{}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.ClusterAdmin.ForceElection(\n ctx,\n ClusterForceElectionIn{\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getClusterAdmin.forceElection(\n new ClusterForceElectionIn()\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.clusterAdmin.forceElection({});" }, { "lang": "Python", "label": "Python", "source": "response = diom.cluster_admin.force_election(\n ClusterForceElectionIn(),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cluster_admin()\n .force_election(\n ClusterForceElectionIn::new(),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-token.create": { "post": { "tags": [ "Admin" ], "summary": "Auth Token Create", "description": "Create an auth token", "operationId": "v1.admin.auth-token.create", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenCreateIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenCreateOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-token create '{\n \"name\": \"some token name\",\n \"role\": \"some token role\",\n \"expiry_ms\": 30000,\n \"enabled\": true\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthToken.Create(\n ctx,\n AdminAuthTokenCreateIn{\n Name: \"some token name\",\n Role: \"some token role\",\n Expiry: new(diom.DurationMs(30000)),\n Enabled: new(true),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthToken.create(\n new AdminAuthTokenCreateIn()\n .name(\"some token name\")\n .role(\"some token role\")\n .expiryMs(Duration.ofSeconds(30))\n .enabled(\n true)\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authToken.create({\n name: \"some token name\",\n role: \"some token role\",\n expiry: Temporal.Duration.from({ seconds: 30 }),\n enabled: true,\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_token.create(\n AdminAuthTokenCreateIn(\n name = \"some token name\",\n role = \"some token role\",\n expiry_ms = timedelta(seconds=30),\n enabled = True,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_token()\n .create(\n AdminAuthTokenCreateIn::new(\n \"some token name\".to_owned(),\n \"some token role\".to_owned(),\n )\n .with_expiry(Duration::from_secs(30))\n .with_enabled(true),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-token.expire": { "post": { "tags": [ "Admin" ], "summary": "Auth Token Expire", "description": "Expire an auth token", "operationId": "v1.admin.auth-token.expire", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenExpireIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenExpireOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-token expire '{\n \"id\": \"key_06etngr201xwv7qj08mt4cs03w\",\n \"expiry_ms\": 30000\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthToken.Expire(\n ctx,\n AdminAuthTokenExpireIn{\n Id: \"key_06etngr201xwv7qj08mt4cs03w\",\n Expiry: new(diom.DurationMs(30000)),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthToken.expire(\n new AdminAuthTokenExpireIn()\n .id(\"key_06etngr201xwv7qj08mt4cs03w\")\n .expiryMs(Duration.ofSeconds(30))\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authToken.expire({\n id: \"key_06etngr201xwv7qj08mt4cs03w\",\n expiry: Temporal.Duration.from({ seconds: 30 }),\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_token.expire(\n AdminAuthTokenExpireIn(\n id = \"key_06etngr201xwv7qj08mt4cs03w\",\n expiry_ms = timedelta(seconds=30),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_token()\n .expire(\n AdminAuthTokenExpireIn::new(\"key_06etngr201xwv7qj08mt4cs03w\".to_owned())\n .with_expiry(Duration::from_secs(30)),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-token.rotate": { "post": { "tags": [ "Admin" ], "summary": "Auth Token Rotate", "description": "Rotate an auth token, invalidating the old one and issuing a new secret", "operationId": "v1.admin.auth-token.rotate", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenRotateIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenRotateOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-token rotate '{\n \"id\": \"key_06etngr201xwv7qj08mt4cs03w\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthToken.Rotate(\n ctx,\n AdminAuthTokenRotateIn{\n Id: \"key_06etngr201xwv7qj08mt4cs03w\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthToken.rotate(\n new AdminAuthTokenRotateIn()\n .id(\"key_06etngr201xwv7qj08mt4cs03w\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authToken.rotate({\n id: \"key_06etngr201xwv7qj08mt4cs03w\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_token.rotate(\n AdminAuthTokenRotateIn(\n id = \"key_06etngr201xwv7qj08mt4cs03w\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_token()\n .rotate(\n AdminAuthTokenRotateIn::new(\"key_06etngr201xwv7qj08mt4cs03w\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-token.delete": { "post": { "tags": [ "Admin" ], "summary": "Auth Token Delete", "description": "Delete an auth token", "operationId": "v1.admin.auth-token.delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenDeleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenDeleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-token delete '{\n \"id\": \"key_06etngr201xwv7qj08mt4cs03w\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthToken.Delete(\n ctx,\n AdminAuthTokenDeleteIn{\n Id: \"key_06etngr201xwv7qj08mt4cs03w\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthToken.delete(\n new AdminAuthTokenDeleteIn()\n .id(\"key_06etngr201xwv7qj08mt4cs03w\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authToken.delete({\n id: \"key_06etngr201xwv7qj08mt4cs03w\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_token.delete(\n AdminAuthTokenDeleteIn(\n id = \"key_06etngr201xwv7qj08mt4cs03w\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_token()\n .delete(\n AdminAuthTokenDeleteIn::new(\"key_06etngr201xwv7qj08mt4cs03w\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-token.list": { "post": { "tags": [ "Admin" ], "summary": "Auth Token List", "description": "List auth tokens for a given owner", "operationId": "v1.admin.auth-token.list", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenListIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponseAdminAuthTokenOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-token list '{\n \"limit\": 1,\n \"iterator\": \"key_06etngr201xwv7qj08mt4cs03w\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthToken.List(\n ctx,\n AdminAuthTokenListIn{\n Limit: new(uint64(1)),\n Iterator: new(\"key_06etngr201xwv7qj08mt4cs03w\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthToken.list(\n new AdminAuthTokenListIn()\n .limit(1L)\n .iterator(\"key_06etngr201xwv7qj08mt4cs03w\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authToken.list({\n limit: 1,\n iterator: \"key_06etngr201xwv7qj08mt4cs03w\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_token.list(\n AdminAuthTokenListIn(\n limit = 1,\n iterator = \"key_06etngr201xwv7qj08mt4cs03w\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_token()\n .list(\n AdminAuthTokenListIn::new()\n .with_limit(1)\n .with_iterator(\"key_06etngr201xwv7qj08mt4cs03w\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-token.update": { "post": { "tags": [ "Admin" ], "summary": "Auth Token Update", "description": "Update an auth token's properties", "operationId": "v1.admin.auth-token.update", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenUpdateIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenUpdateOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-token update '{\n \"id\": \"key_06etngr201xwv7qj08mt4cs03w\",\n \"name\": \"some token name\",\n \"expiry_ms\": 30000,\n \"enabled\": true\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthToken.Update(\n ctx,\n AdminAuthTokenUpdateIn{\n Id: \"key_06etngr201xwv7qj08mt4cs03w\",\n Name: new(\"some token name\"),\n Expiry: new(diom.DurationMs(30000)),\n Enabled: new(true),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthToken.update(\n new AdminAuthTokenUpdateIn()\n .id(\"key_06etngr201xwv7qj08mt4cs03w\")\n .name(\"some token name\")\n .expiryMs(Duration.ofSeconds(30))\n .enabled(\n true)\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authToken.update({\n id: \"key_06etngr201xwv7qj08mt4cs03w\",\n name: \"some token name\",\n expiry: Temporal.Duration.from({ seconds: 30 }),\n enabled: true,\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_token.update(\n AdminAuthTokenUpdateIn(\n id = \"key_06etngr201xwv7qj08mt4cs03w\",\n name = \"some token name\",\n expiry_ms = timedelta(seconds=30),\n enabled = True,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_token()\n .update(\n AdminAuthTokenUpdateIn::new(\"key_06etngr201xwv7qj08mt4cs03w\".to_owned())\n .with_name(\"some token name\".to_owned())\n .with_expiry(Duration::from_secs(30))\n .with_enabled(true),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-token.whoami": { "post": { "tags": [ "Admin" ], "summary": "Auth Token Whoami", "description": "Return the role of the currently authenticated token", "operationId": "v1.admin.auth-token.whoami", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenWhoamiIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAuthTokenWhoamiOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-token whoami '{}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthToken.Whoami(\n ctx,\n AdminAuthTokenWhoamiIn{\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthToken.whoami(\n new AdminAuthTokenWhoamiIn()\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authToken.whoami({});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_token.whoami(\n AdminAuthTokenWhoamiIn(),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_token()\n .whoami(\n AdminAuthTokenWhoamiIn::new(),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-role.configure": { "post": { "tags": [ "Admin" ], "summary": "Role Configure", "description": "Create or update a role", "operationId": "v1.admin.auth-role.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminRoleConfigureIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminRoleConfigureOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-role configure '{\n \"id\": \"some_role_id\",\n \"description\": \"role description…\",\n \"rules\": [],\n \"policies\": [],\n \"context\": {}\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthRole.Configure(\n ctx,\n AdminRoleConfigureIn{\n Id: \"some_role_id\",\n Description: \"role description…\",\n Rules: []AccessRule{},\n Policies: []string{},\n Context: nil,\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthRole.configure(\n new AdminRoleConfigureIn()\n .id(\"some_role_id\")\n .description(\"role description…\")\n .rules(List.of())\n .policies(List.of())\n .context(Map.of())\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authRole.configure({\n id: \"some_role_id\",\n description: \"role description…\",\n rules: [],\n policies: [],\n context: {},\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_role.configure(\n AdminRoleConfigureIn(\n id = \"some_role_id\",\n description = \"role description…\",\n rules = [],\n policies = [],\n context = {},\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_role()\n .configure(\n AdminRoleConfigureIn::new(\n \"some_role_id\".to_owned(),\n \"role description…\".to_owned(),\n )\n .with_rules(vec![])\n .with_policies(vec![])\n .with_context(HashMap::new()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-role.delete": { "post": { "tags": [ "Admin" ], "summary": "Role Delete", "description": "Delete a role", "operationId": "v1.admin.auth-role.delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminRoleDeleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminRoleDeleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-role delete '{\n \"id\": \"some_role_id\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthRole.Delete(\n ctx,\n AdminRoleDeleteIn{\n Id: \"some_role_id\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthRole.delete(\n new AdminRoleDeleteIn()\n .id(\"some_role_id\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authRole.delete({\n id: \"some_role_id\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_role.delete(\n AdminRoleDeleteIn(\n id = \"some_role_id\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_role()\n .delete(\n AdminRoleDeleteIn::new(\"some_role_id\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-role.get": { "post": { "tags": [ "Admin" ], "summary": "Role Get", "description": "Get a role by ID", "operationId": "v1.admin.auth-role.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminRoleGetIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminRoleOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-role get '{\n \"id\": \"some_role_id\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthRole.Get(\n ctx,\n AdminRoleGetIn{\n Id: \"some_role_id\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthRole.get(\n new AdminRoleGetIn()\n .id(\"some_role_id\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authRole.get({\n id: \"some_role_id\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_role.get(\n AdminRoleGetIn(\n id = \"some_role_id\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_role()\n .get(\n AdminRoleGetIn::new(\"some_role_id\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-role.list": { "post": { "tags": [ "Admin" ], "summary": "Role List", "description": "List all roles", "operationId": "v1.admin.auth-role.list", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminRoleListIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponseAdminRoleOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-role list '{\n \"limit\": 1,\n \"iterator\": \"some_role_id\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthRole.List(\n ctx,\n AdminRoleListIn{\n Limit: new(uint64(1)),\n Iterator: new(\"some_role_id\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthRole.list(\n new AdminRoleListIn()\n .limit(1L)\n .iterator(\"some_role_id\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authRole.list({\n limit: 1,\n iterator: \"some_role_id\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_role.list(\n AdminRoleListIn(\n limit = 1,\n iterator = \"some_role_id\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_role()\n .list(\n AdminRoleListIn::new()\n .with_limit(1)\n .with_iterator(\"some_role_id\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-policy.configure": { "post": { "tags": [ "Admin" ], "summary": "Access Policy Configure", "description": "Create or update an access policy", "operationId": "v1.admin.auth-policy.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAccessPolicyConfigureIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAccessPolicyConfigureOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-policy configure '{\n \"id\": \"some_access_policy\",\n \"description\": \"policy description…\",\n \"rules\": []\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthPolicy.Configure(\n ctx,\n AdminAccessPolicyConfigureIn{\n Id: \"some_access_policy\",\n Description: \"policy description…\",\n Rules: []AccessRule{},\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthPolicy.configure(\n new AdminAccessPolicyConfigureIn()\n .id(\"some_access_policy\")\n .description(\"policy description…\")\n .rules(List.of())\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authPolicy.configure({\n id: \"some_access_policy\",\n description: \"policy description…\",\n rules: [],\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_policy.configure(\n AdminAccessPolicyConfigureIn(\n id = \"some_access_policy\",\n description = \"policy description…\",\n rules = [],\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_policy()\n .configure(\n AdminAccessPolicyConfigureIn::new(\n \"some_access_policy\".to_owned(),\n \"policy description…\".to_owned(),\n )\n .with_rules(vec![]),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-policy.delete": { "post": { "tags": [ "Admin" ], "summary": "Access Policy Delete", "description": "Delete an access policy", "operationId": "v1.admin.auth-policy.delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAccessPolicyDeleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAccessPolicyDeleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-policy delete '{\n \"id\": \"some_access_policy\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthPolicy.Delete(\n ctx,\n AdminAccessPolicyDeleteIn{\n Id: \"some_access_policy\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthPolicy.delete(\n new AdminAccessPolicyDeleteIn()\n .id(\"some_access_policy\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authPolicy.delete({\n id: \"some_access_policy\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_policy.delete(\n AdminAccessPolicyDeleteIn(\n id = \"some_access_policy\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_policy()\n .delete(\n AdminAccessPolicyDeleteIn::new(\"some_access_policy\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-policy.get": { "post": { "tags": [ "Admin" ], "summary": "Access Policy Get", "description": "Get an access policy by ID", "operationId": "v1.admin.auth-policy.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAccessPolicyGetIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAccessPolicyOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-policy get '{\n \"id\": \"some_access_policy\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthPolicy.Get(\n ctx,\n AdminAccessPolicyGetIn{\n Id: \"some_access_policy\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthPolicy.get(\n new AdminAccessPolicyGetIn()\n .id(\"some_access_policy\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authPolicy.get({\n id: \"some_access_policy\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_policy.get(\n AdminAccessPolicyGetIn(\n id = \"some_access_policy\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_policy()\n .get(\n AdminAccessPolicyGetIn::new(\"some_access_policy\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.auth-policy.list": { "post": { "tags": [ "Admin" ], "summary": "Access Policy List", "description": "List all access policies", "operationId": "v1.admin.auth-policy.list", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminAccessPolicyListIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponseAdminAccessPolicyOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin auth-policy list '{\n \"limit\": 1,\n \"iterator\": \"some_access_policy\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.AuthPolicy.List(\n ctx,\n AdminAccessPolicyListIn{\n Limit: new(uint64(1)),\n Iterator: new(\"some_access_policy\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getAuthPolicy.list(\n new AdminAccessPolicyListIn()\n .limit(1L)\n .iterator(\"some_access_policy\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.authPolicy.list({\n limit: 1,\n iterator: \"some_access_policy\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.auth_policy.list(\n AdminAccessPolicyListIn(\n limit = 1,\n iterator = \"some_access_policy\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .auth_policy()\n .list(\n AdminAccessPolicyListIn::new()\n .with_limit(1)\n .with_iterator(\"some_access_policy\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.admin.metrics.get": { "get": { "tags": [ "Admin" ], "summary": "Get Metrics", "description": "Dump the current metrics (which would otherwise be sent to the OTLP metrics receiver)", "operationId": "v1.admin.metrics.get", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetMetricsOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom admin metrics get" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Admin.Metrics.Get(ctx)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getAdmin.getMetrics.get();" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.admin.metrics.get();" }, { "lang": "Python", "label": "Python", "source": "response = diom.admin.metrics.get();" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.admin()\n .metrics()\n .get()\n .await?;" } ] } }, "/api/v1.auth-token.create": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token Create", "description": "Create Auth Token", "operationId": "v1.auth-token.create", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenCreateIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenCreateOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.auth-token.expire": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token Expire", "description": "Expire Auth Token", "operationId": "v1.auth-token.expire", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenExpireIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenExpireOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.auth-token.delete": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token Delete", "description": "Delete Auth Token", "operationId": "v1.auth-token.delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenDeleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenDeleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.auth-token.verify": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token Verify", "description": "Verify Auth Token", "operationId": "v1.auth-token.verify", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenVerifyIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenVerifyOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.auth-token.list": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token List", "description": "List Auth Tokens", "operationId": "v1.auth-token.list", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenListIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponseAuthTokenOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.auth-token.update": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token Update", "description": "Update Auth Token", "operationId": "v1.auth-token.update", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenUpdateIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenUpdateOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.auth-token.rotate": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token Rotate", "description": "Rotate Auth Token", "operationId": "v1.auth-token.rotate", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenRotateIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenRotateOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.auth-token.namespace.configure": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token Configure Namespace", "description": "Configure Auth Token namespace", "operationId": "v1.auth-token.namespace.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenConfigureNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenConfigureNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.auth-token.namespace.get": { "post": { "tags": [ "Auth Tokens" ], "summary": "Auth Token Get Namespace", "description": "Get Auth Token namespace", "operationId": "v1.auth-token.namespace.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenGetNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenGetNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-internal": true } }, "/api/v1.cache.set": { "post": { "tags": [ "Cache" ], "summary": "Cache Set", "description": "Cache Set", "operationId": "v1.cache.set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheSetIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheSetOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cache set \"some_key\" [] '{\n \"namespace\": \"some_namespace\",\n \"ttl_ms\": 30000\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Cache.Set(\n ctx,\n \"some_key\",\n []uint8{},\n CacheSetIn{\n Namespace: new(\"some_namespace\"),\n Ttl: diom.DurationMs(30000),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getCache.set(\n \"some_key\",\n List.of(),\n new CacheSetIn()\n .namespace(\"some_namespace\")\n .ttlMs(Duration.ofSeconds(30))\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.cache.set(\n \"some_key\",\n [],\n {\n namespace: \"some_namespace\",\n ttl: Temporal.Duration.from({ seconds: 30 }),\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.cache.set(\n \"some_key\",\n [],\n CacheSetIn(\n namespace = \"some_namespace\",\n ttl_ms = timedelta(seconds=30),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cache()\n .set(\n \"some_key\".to_owned(),\n vec![],\n CacheSetIn::new(Duration::from_secs(30))\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.cache.get": { "post": { "tags": [ "Cache" ], "summary": "Cache Get", "description": "Cache Get", "operationId": "v1.cache.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheGetIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheGetOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cache get \"some_key\" '{\n \"namespace\": \"some_namespace\",\n \"consistency\": \"strong\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Cache.Get(\n ctx,\n \"some_key\",\n CacheGetIn{\n Namespace: new(\"some_namespace\"),\n Consistency: new(CONSISTENCY_STRONG),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getCache.get(\n \"some_key\",\n new CacheGetIn()\n .namespace(\"some_namespace\")\n .consistency(\n Consistency.Strong\n )\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.cache.get(\n \"some_key\",\n {\n namespace: \"some_namespace\",\n consistency: Consistency.Strong,\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.cache.get(\n \"some_key\",\n CacheGetIn(\n namespace = \"some_namespace\",\n consistency = Consistency.STRONG,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cache()\n .get(\n \"some_key\".to_owned(),\n CacheGetIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_consistency(Consistency::Strong),\n )\n .await?;" } ] } }, "/api/v1.cache.namespace.configure": { "post": { "tags": [ "Cache" ], "summary": "Cache Configure Namespace", "description": "Configure cache namespace", "operationId": "v1.cache.namespace.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheConfigureNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheConfigureNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cache namespace configure '{\n \"name\": \"some_namespace\",\n \"eviction_policy\": \"no-eviction\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Cache.Namespace.Configure(\n ctx,\n CacheConfigureNamespaceIn{\n Name: \"some_namespace\",\n EvictionPolicy: new(EVICTIONPOLICY_NO_EVICTION),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getCache.getNamespace.configure(\n new CacheConfigureNamespaceIn()\n .name(\"some_namespace\")\n .evictionPolicy(\n EvictionPolicy.NoEviction\n )\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.cache.namespace.configure({\n name: \"some_namespace\",\n evictionPolicy: EvictionPolicy.NoEviction,\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.cache.namespace.configure(\n CacheConfigureNamespaceIn(\n name = \"some_namespace\",\n eviction_policy = EvictionPolicy.NO_EVICTION,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cache()\n .namespace()\n .configure(\n CacheConfigureNamespaceIn::new(\"some_namespace\".to_owned())\n .with_eviction_policy(EvictionPolicy::NoEviction),\n )\n .await?;" } ] } }, "/api/v1.cache.namespace.get": { "post": { "tags": [ "Cache" ], "summary": "Cache Get Namespace", "description": "Get cache namespace", "operationId": "v1.cache.namespace.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheGetNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheGetNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cache namespace get '{\n \"name\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Cache.Namespace.Get(\n ctx,\n CacheGetNamespaceIn{\n Name: \"some_namespace\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getCache.getNamespace.get(\n new CacheGetNamespaceIn()\n .name(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.cache.namespace.get({\n name: \"some_namespace\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.cache.namespace.get(\n CacheGetNamespaceIn(\n name = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cache()\n .namespace()\n .get(\n CacheGetNamespaceIn::new(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.cache.delete": { "post": { "tags": [ "Cache" ], "summary": "Cache Del", "description": "Cache Delete", "operationId": "v1.cache.delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheDeleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheDeleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom cache delete \"some_key\" '{\n \"namespace\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Cache.Delete(\n ctx,\n \"some_key\",\n CacheDeleteIn{\n Namespace: new(\"some_namespace\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getCache.delete(\n \"some_key\",\n new CacheDeleteIn()\n .namespace(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.cache.delete(\n \"some_key\",\n {\n namespace: \"some_namespace\",\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.cache.delete(\n \"some_key\",\n CacheDeleteIn(\n namespace = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.cache()\n .delete(\n \"some_key\".to_owned(),\n CacheDeleteIn::new()\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.kv.set": { "post": { "tags": [ "Key Value Store" ], "summary": "Kv Set", "description": "KV Set", "operationId": "v1.kv.set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvSetIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvSetOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom kv set \"some_key\" [] '{\n \"namespace\": \"some_namespace\",\n \"ttl_ms\": 30000,\n \"behavior\": \"upsert\",\n \"version\": 1\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Kv.Set(\n ctx,\n \"some_key\",\n []uint8{},\n KvSetIn{\n Namespace: new(\"some_namespace\"),\n Ttl: new(diom.DurationMs(30000)),\n Behavior: new(OPERATIONBEHAVIOR_UPSERT),\n Version: new(uint64(1)),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getKv.set(\n \"some_key\",\n List.of(),\n new KvSetIn()\n .namespace(\"some_namespace\")\n .ttlMs(Duration.ofSeconds(30))\n .behavior(\n OperationBehavior.Upsert\n )\n .version(1L)\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.kv.set(\n \"some_key\",\n [],\n {\n namespace: \"some_namespace\",\n ttl: Temporal.Duration.from({ seconds: 30 }),\n behavior: OperationBehavior.Upsert,\n version: 1,\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.kv.set(\n \"some_key\",\n [],\n KvSetIn(\n namespace = \"some_namespace\",\n ttl_ms = timedelta(seconds=30),\n behavior = OperationBehavior.UPSERT,\n version = 1,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.kv()\n .set(\n \"some_key\".to_owned(),\n vec![],\n KvSetIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_ttl(Duration::from_secs(30))\n .with_behavior(OperationBehavior::Upsert)\n .with_version(1),\n )\n .await?;" } ] } }, "/api/v1.kv.get": { "post": { "tags": [ "Key Value Store" ], "summary": "Kv Get", "description": "KV Get", "operationId": "v1.kv.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvGetIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvGetOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom kv get \"some_key\" '{\n \"namespace\": \"some_namespace\",\n \"consistency\": \"strong\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Kv.Get(\n ctx,\n \"some_key\",\n KvGetIn{\n Namespace: new(\"some_namespace\"),\n Consistency: new(CONSISTENCY_STRONG),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getKv.get(\n \"some_key\",\n new KvGetIn()\n .namespace(\"some_namespace\")\n .consistency(\n Consistency.Strong\n )\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.kv.get(\n \"some_key\",\n {\n namespace: \"some_namespace\",\n consistency: Consistency.Strong,\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.kv.get(\n \"some_key\",\n KvGetIn(\n namespace = \"some_namespace\",\n consistency = Consistency.STRONG,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.kv()\n .get(\n \"some_key\".to_owned(),\n KvGetIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_consistency(Consistency::Strong),\n )\n .await?;" } ] } }, "/api/v1.kv.namespace.configure": { "post": { "tags": [ "Key Value Store" ], "summary": "Kv Configure Namespace", "description": "Configure KV namespace", "operationId": "v1.kv.namespace.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvConfigureNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvConfigureNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom kv namespace configure '{\n \"name\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Kv.Namespace.Configure(\n ctx,\n KvConfigureNamespaceIn{\n Name: \"some_namespace\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getKv.getNamespace.configure(\n new KvConfigureNamespaceIn()\n .name(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.kv.namespace.configure({\n name: \"some_namespace\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.kv.namespace.configure(\n KvConfigureNamespaceIn(\n name = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.kv()\n .namespace()\n .configure(\n KvConfigureNamespaceIn::new(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.kv.namespace.get": { "post": { "tags": [ "Key Value Store" ], "summary": "Kv Get Namespace", "description": "Get KV namespace", "operationId": "v1.kv.namespace.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvGetNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvGetNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom kv namespace get '{\n \"name\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Kv.Namespace.Get(\n ctx,\n KvGetNamespaceIn{\n Name: \"some_namespace\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getKv.getNamespace.get(\n new KvGetNamespaceIn()\n .name(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.kv.namespace.get({\n name: \"some_namespace\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.kv.namespace.get(\n KvGetNamespaceIn(\n name = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.kv()\n .namespace()\n .get(\n KvGetNamespaceIn::new(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.kv.delete": { "post": { "tags": [ "Key Value Store" ], "summary": "Kv Del", "description": "KV Delete", "operationId": "v1.kv.delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvDeleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KvDeleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom kv delete \"some_key\" '{\n \"namespace\": \"some_namespace\",\n \"version\": 1\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Kv.Delete(\n ctx,\n \"some_key\",\n KvDeleteIn{\n Namespace: new(\"some_namespace\"),\n Version: new(uint64(1)),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getKv.delete(\n \"some_key\",\n new KvDeleteIn()\n .namespace(\"some_namespace\")\n .version(1L)\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.kv.delete(\n \"some_key\",\n {\n namespace: \"some_namespace\",\n version: 1,\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.kv.delete(\n \"some_key\",\n KvDeleteIn(\n namespace = \"some_namespace\",\n version = 1,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.kv()\n .delete(\n \"some_key\".to_owned(),\n KvDeleteIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_version(1),\n )\n .await?;" } ] } }, "/api/v1.rate-limit.limit": { "post": { "tags": [ "Rate Limiter" ], "summary": "Rate Limit Limit", "description": "Rate Limiter Check and Consume", "operationId": "v1.rate-limit.limit", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitCheckIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitCheckOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom rate-limit limit '{\n \"namespace\": \"some_namespace\",\n \"key\": \"some_key\",\n \"tokens\": 1,\n \"config\": {\n \"capacity\": 1,\n \"refill_amount\": 1,\n \"refill_interval_ms\": 30000\n }\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.RateLimit.Limit(\n ctx,\n RateLimitCheckIn{\n Namespace: new(\"some_namespace\"),\n Key: \"some_key\",\n Tokens: new(uint64(1)),\n Config: RateLimitConfig{\n Capacity: uint64(1),\n RefillAmount: uint64(1),\n RefillInterval: new(diom.DurationMs(30000)),\n },\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getRateLimit.limit(\n new RateLimitCheckIn()\n .namespace(\"some_namespace\")\n .key(\"some_key\")\n .tokens(1L)\n .config(\n new RateLimitConfig()\n .capacity(1L)\n .refillAmount(1L)\n .refillIntervalMs(Duration.ofSeconds(30))\n )\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.rateLimit.limit({\n namespace: \"some_namespace\",\n key: \"some_key\",\n tokens: 1,\n config: {\n capacity: 1,\n refillAmount: 1,\n refillInterval: Temporal.Duration.from({ seconds: 30 }),\n },\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.rate_limit.limit(\n RateLimitCheckIn(\n namespace = \"some_namespace\",\n key = \"some_key\",\n tokens = 1,\n config = RateLimitConfig(\n capacity = 1,\n refill_amount = 1,\n refill_interval_ms = timedelta(seconds=30),\n ),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.rate_limit()\n .limit(\n RateLimitCheckIn::new(\n \"some_key\".to_owned(),\n RateLimitConfig::new(\n 1,\n 1,\n )\n .with_refill_interval(Duration::from_secs(30)),\n )\n .with_namespace(\"some_namespace\".to_owned())\n .with_tokens(1),\n )\n .await?;" } ] } }, "/api/v1.rate-limit.get-remaining": { "post": { "tags": [ "Rate Limiter" ], "summary": "Rate Limit Get Remaining", "description": "Rate Limiter Get Remaining", "operationId": "v1.rate-limit.get-remaining", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitGetRemainingIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitGetRemainingOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom rate-limit get-remaining '{\n \"namespace\": \"some_namespace\",\n \"key\": \"some_key\",\n \"config\": {\n \"capacity\": 1,\n \"refill_amount\": 1,\n \"refill_interval_ms\": 30000\n }\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.RateLimit.GetRemaining(\n ctx,\n RateLimitGetRemainingIn{\n Namespace: new(\"some_namespace\"),\n Key: \"some_key\",\n Config: RateLimitConfig{\n Capacity: uint64(1),\n RefillAmount: uint64(1),\n RefillInterval: new(diom.DurationMs(30000)),\n },\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getRateLimit.getRemaining(\n new RateLimitGetRemainingIn()\n .namespace(\"some_namespace\")\n .key(\"some_key\")\n .config(\n new RateLimitConfig()\n .capacity(1L)\n .refillAmount(1L)\n .refillIntervalMs(Duration.ofSeconds(30))\n )\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.rateLimit.getRemaining({\n namespace: \"some_namespace\",\n key: \"some_key\",\n config: {\n capacity: 1,\n refillAmount: 1,\n refillInterval: Temporal.Duration.from({ seconds: 30 }),\n },\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.rate_limit.get_remaining(\n RateLimitGetRemainingIn(\n namespace = \"some_namespace\",\n key = \"some_key\",\n config = RateLimitConfig(\n capacity = 1,\n refill_amount = 1,\n refill_interval_ms = timedelta(seconds=30),\n ),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.rate_limit()\n .get_remaining(\n RateLimitGetRemainingIn::new(\n \"some_key\".to_owned(),\n RateLimitConfig::new(\n 1,\n 1,\n )\n .with_refill_interval(Duration::from_secs(30)),\n )\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.rate-limit.reset": { "post": { "tags": [ "Rate Limiter" ], "summary": "Rate Limit Reset", "description": "Rate Limiter Reset", "operationId": "v1.rate-limit.reset", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitResetIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitResetOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom rate-limit reset '{\n \"namespace\": \"some_namespace\",\n \"key\": \"some_key\",\n \"config\": {\n \"capacity\": 1,\n \"refill_amount\": 1,\n \"refill_interval_ms\": 30000\n }\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.RateLimit.Reset(\n ctx,\n RateLimitResetIn{\n Namespace: new(\"some_namespace\"),\n Key: \"some_key\",\n Config: RateLimitConfig{\n Capacity: uint64(1),\n RefillAmount: uint64(1),\n RefillInterval: new(diom.DurationMs(30000)),\n },\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getRateLimit.reset(\n new RateLimitResetIn()\n .namespace(\"some_namespace\")\n .key(\"some_key\")\n .config(\n new RateLimitConfig()\n .capacity(1L)\n .refillAmount(1L)\n .refillIntervalMs(Duration.ofSeconds(30))\n )\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.rateLimit.reset({\n namespace: \"some_namespace\",\n key: \"some_key\",\n config: {\n capacity: 1,\n refillAmount: 1,\n refillInterval: Temporal.Duration.from({ seconds: 30 }),\n },\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.rate_limit.reset(\n RateLimitResetIn(\n namespace = \"some_namespace\",\n key = \"some_key\",\n config = RateLimitConfig(\n capacity = 1,\n refill_amount = 1,\n refill_interval_ms = timedelta(seconds=30),\n ),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.rate_limit()\n .reset(\n RateLimitResetIn::new(\n \"some_key\".to_owned(),\n RateLimitConfig::new(\n 1,\n 1,\n )\n .with_refill_interval(Duration::from_secs(30)),\n )\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.rate-limit.namespace.configure": { "post": { "tags": [ "Rate Limiter" ], "summary": "Rate Limit Configure Namespace", "description": "Configure rate limiter namespace", "operationId": "v1.rate-limit.namespace.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitConfigureNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitConfigureNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom rate-limit namespace configure '{\n \"name\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.RateLimit.Namespace.Configure(\n ctx,\n RateLimitConfigureNamespaceIn{\n Name: \"some_namespace\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getRateLimit.getNamespace.configure(\n new RateLimitConfigureNamespaceIn()\n .name(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.rateLimit.namespace.configure({\n name: \"some_namespace\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.rate_limit.namespace.configure(\n RateLimitConfigureNamespaceIn(\n name = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.rate_limit()\n .namespace()\n .configure(\n RateLimitConfigureNamespaceIn::new(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.rate-limit.namespace.get": { "post": { "tags": [ "Rate Limiter" ], "summary": "Rate Limit Get Namespace", "description": "Get rate limiter namespace", "operationId": "v1.rate-limit.namespace.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitGetNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateLimitGetNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom rate-limit namespace get '{\n \"name\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.RateLimit.Namespace.Get(\n ctx,\n RateLimitGetNamespaceIn{\n Name: \"some_namespace\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getRateLimit.getNamespace.get(\n new RateLimitGetNamespaceIn()\n .name(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.rateLimit.namespace.get({\n name: \"some_namespace\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.rate_limit.namespace.get(\n RateLimitGetNamespaceIn(\n name = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.rate_limit()\n .namespace()\n .get(\n RateLimitGetNamespaceIn::new(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.idempotency.start": { "post": { "tags": [ "Idempotency" ], "summary": "Idempotency Start", "description": "Start an idempotent request", "operationId": "v1.idempotency.start", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyStartIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyStartOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom idempotency start \"some_key\" '{\n \"namespace\": \"some_namespace\",\n \"lock_period_ms\": 30000\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Idempotency.Start(\n ctx,\n \"some_key\",\n IdempotencyStartIn{\n Namespace: new(\"some_namespace\"),\n LockPeriod: diom.DurationMs(30000),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getIdempotency.start(\n \"some_key\",\n new IdempotencyStartIn()\n .namespace(\"some_namespace\")\n .lockPeriodMs(Duration.ofSeconds(30))\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.idempotency.start(\n \"some_key\",\n {\n namespace: \"some_namespace\",\n lockPeriod: Temporal.Duration.from({ seconds: 30 }),\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.idempotency.start(\n \"some_key\",\n IdempotencyStartIn(\n namespace = \"some_namespace\",\n lock_period_ms = timedelta(seconds=30),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.idempotency()\n .start(\n \"some_key\".to_owned(),\n IdempotencyStartIn::new(Duration::from_secs(30))\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.idempotency.complete": { "post": { "tags": [ "Idempotency" ], "summary": "Idempotency Complete", "description": "Complete an idempotent request with a response", "operationId": "v1.idempotency.complete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyCompleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyCompleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom idempotency complete \"some_key\" '{\n \"namespace\": \"some_namespace\",\n \"response\": [],\n \"context\": {},\n \"ttl_ms\": 30000\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Idempotency.Complete(\n ctx,\n \"some_key\",\n IdempotencyCompleteIn{\n Namespace: new(\"some_namespace\"),\n Response: []uint8{},\n Context: nil,\n Ttl: diom.DurationMs(30000),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getIdempotency.complete(\n \"some_key\",\n new IdempotencyCompleteIn()\n .namespace(\"some_namespace\")\n .response(List.of())\n .context(Map.of())\n .ttlMs(Duration.ofSeconds(30))\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.idempotency.complete(\n \"some_key\",\n {\n namespace: \"some_namespace\",\n response: [],\n context: {},\n ttl: Temporal.Duration.from({ seconds: 30 }),\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.idempotency.complete(\n \"some_key\",\n IdempotencyCompleteIn(\n namespace = \"some_namespace\",\n response = [],\n context = {},\n ttl_ms = timedelta(seconds=30),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.idempotency()\n .complete(\n \"some_key\".to_owned(),\n IdempotencyCompleteIn::new(\n vec![],\n Duration::from_secs(30),\n )\n .with_namespace(\"some_namespace\".to_owned())\n .with_context(HashMap::new()),\n )\n .await?;" } ] } }, "/api/v1.idempotency.abort": { "post": { "tags": [ "Idempotency" ], "summary": "Idempotency Abort", "description": "Abandon an idempotent request (remove lock without saving response)", "operationId": "v1.idempotency.abort", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyAbortIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyAbortOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom idempotency abort \"some_key\" '{\n \"namespace\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Idempotency.Abort(\n ctx,\n \"some_key\",\n IdempotencyAbortIn{\n Namespace: new(\"some_namespace\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getIdempotency.abort(\n \"some_key\",\n new IdempotencyAbortIn()\n .namespace(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.idempotency.abort(\n \"some_key\",\n {\n namespace: \"some_namespace\",\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.idempotency.abort(\n \"some_key\",\n IdempotencyAbortIn(\n namespace = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.idempotency()\n .abort(\n \"some_key\".to_owned(),\n IdempotencyAbortIn::new()\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.idempotency.namespace.configure": { "post": { "tags": [ "Idempotency" ], "summary": "Idempotency Configure Namespace", "description": "Configure idempotency namespace", "operationId": "v1.idempotency.namespace.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyConfigureNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyConfigureNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom idempotency namespace configure '{\n \"name\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Idempotency.Namespace.Configure(\n ctx,\n IdempotencyConfigureNamespaceIn{\n Name: \"some_namespace\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getIdempotency.getNamespace.configure(\n new IdempotencyConfigureNamespaceIn()\n .name(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.idempotency.namespace.configure({\n name: \"some_namespace\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.idempotency.namespace.configure(\n IdempotencyConfigureNamespaceIn(\n name = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.idempotency()\n .namespace()\n .configure(\n IdempotencyConfigureNamespaceIn::new(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.idempotency.namespace.get": { "post": { "tags": [ "Idempotency" ], "summary": "Idempotency Get Namespace", "description": "Get idempotency namespace", "operationId": "v1.idempotency.namespace.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyGetNamespaceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdempotencyGetNamespaceOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom idempotency namespace get '{\n \"name\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Idempotency.Namespace.Get(\n ctx,\n IdempotencyGetNamespaceIn{\n Name: \"some_namespace\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getIdempotency.getNamespace.get(\n new IdempotencyGetNamespaceIn()\n .name(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.idempotency.namespace.get({\n name: \"some_namespace\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.idempotency.namespace.get(\n IdempotencyGetNamespaceIn(\n name = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.idempotency()\n .namespace()\n .get(\n IdempotencyGetNamespaceIn::new(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.namespace.configure": { "post": { "tags": [ "Msgs" ], "summary": "Configure Namespace", "description": "Configures a msgs namespace with the given name.", "operationId": "v1.msgs.namespace.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgNamespaceConfigureIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgNamespaceConfigureOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs namespace configure \"some_namespace\" '{\n \"retention\": {\n \"period_ms\": 30000\n }\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Namespace.Configure(\n ctx,\n \"some_namespace\",\n MsgNamespaceConfigureIn{\n Retention: new(Retention{\n Period: new(diom.DurationMs(30000)),\n }),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getNamespace.configure(\n \"some_namespace\",\n new MsgNamespaceConfigureIn()\n .retention(\n new Retention()\n .periodMs(Duration.ofSeconds(30))\n )\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.namespace.configure(\n \"some_namespace\",\n {\n retention: {\n period: Temporal.Duration.from({ seconds: 30 }),\n },\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.namespace.configure(\n \"some_namespace\",\n MsgNamespaceConfigureIn(\n retention = Retention(\n period_ms = timedelta(seconds=30),\n ),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .namespace()\n .configure(\n \"some_namespace\".to_owned(),\n MsgNamespaceConfigureIn::new()\n .with_retention(Retention::new()\n .with_period(Duration::from_secs(30))),\n )\n .await?;" } ] } }, "/api/v1.msgs.namespace.get": { "post": { "tags": [ "Msgs" ], "summary": "Get Namespace", "description": "Gets a msgs namespace by name.", "operationId": "v1.msgs.namespace.get", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgNamespaceGetIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgNamespaceGetOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs namespace get \"some_namespace\" '{}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Namespace.Get(\n ctx,\n \"some_namespace\",\n MsgNamespaceGetIn{\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getNamespace.get(\n \"some_namespace\",\n new MsgNamespaceGetIn()\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.namespace.get(\n \"some_namespace\",\n {\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.namespace.get(\n \"some_namespace\",\n MsgNamespaceGetIn(),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .namespace()\n .get(\n \"some_namespace\".to_owned(),\n MsgNamespaceGetIn::new(),\n )\n .await?;" } ] } }, "/api/v1.msgs.publish": { "post": { "tags": [ "Msgs" ], "summary": "Publish", "description": "Publishes messages to a topic within a namespace.", "operationId": "v1.msgs.publish", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgPublishIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgPublishOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs publish \"some_topic_name\" '{\n \"namespace\": \"some_namespace\",\n \"msgs\": [],\n \"idempotency_key\": \"my_idempotency_key\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Publish(\n ctx,\n \"some_topic_name\",\n MsgPublishIn{\n Namespace: new(\"some_namespace\"),\n Msgs: []MsgIn{},\n IdempotencyKey: new(\"my_idempotency_key\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.publish(\n \"some_topic_name\",\n new MsgPublishIn()\n .namespace(\"some_namespace\")\n .msgs(List.of())\n .idempotencyKey(\"my_idempotency_key\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.publish(\n \"some_topic_name\",\n {\n namespace: \"some_namespace\",\n msgs: [],\n idempotencyKey: \"my_idempotency_key\",\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.publish(\n \"some_topic_name\",\n MsgPublishIn(\n namespace = \"some_namespace\",\n msgs = [],\n idempotency_key = \"my_idempotency_key\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .publish(\n \"some_topic_name\".to_owned(),\n MsgPublishIn::new(vec![])\n .with_namespace(\"some_namespace\".to_owned())\n .with_idempotency_key(\"my_idempotency_key\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.stream.receive": { "post": { "tags": [ "Msgs" ], "summary": "Stream Receive", "description": "Receives messages from a topic using a consumer group.\n\nEach consumer in the group reads from all partitions. Messages are locked by leases for the\nspecified duration to prevent duplicate delivery within the same consumer group.", "operationId": "v1.msgs.stream.receive", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgStreamReceiveIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgStreamReceiveOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs stream receive \"some_topic_name\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\",\n \"batch_size\": 1,\n \"lease_duration_ms\": 30000,\n \"default_starting_position\": \"earliest\",\n \"batch_wait_ms\": 30000\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Stream.Receive(\n ctx,\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgStreamReceiveIn{\n Namespace: new(\"some_namespace\"),\n BatchSize: new(uint16(1)),\n LeaseDuration: new(diom.DurationMs(30000)),\n DefaultStartingPosition: new(SEEKPOSITION_EARLIEST),\n BatchWait: new(diom.DurationMs(30000)),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getStream.receive(\n \"some_topic_name\",\n \"some_consumer_group\",\n new MsgStreamReceiveIn()\n .namespace(\"some_namespace\")\n .batchSize(1)\n .leaseDurationMs(Duration.ofSeconds(30))\n .defaultStartingPosition(\n SeekPosition.Earliest\n )\n .batchWaitMs(Duration.ofSeconds(30))\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.stream.receive(\n \"some_topic_name\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n batchSize: 1,\n leaseDuration: Temporal.Duration.from({ seconds: 30 }),\n defaultStartingPosition: SeekPosition.Earliest,\n batchWait: Temporal.Duration.from({ seconds: 30 }),\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.stream.receive(\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgStreamReceiveIn(\n namespace = \"some_namespace\",\n batch_size = 1,\n lease_duration_ms = timedelta(seconds=30),\n default_starting_position = SeekPosition.EARLIEST,\n batch_wait_ms = timedelta(seconds=30),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .stream()\n .receive(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgStreamReceiveIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_batch_size(1)\n .with_lease_duration(Duration::from_secs(30))\n .with_default_starting_position(SeekPosition::Earliest)\n .with_batch_wait(Duration::from_secs(30)),\n )\n .await?;" } ] } }, "/api/v1.msgs.stream.commit": { "post": { "tags": [ "Msgs" ], "summary": "Stream Commit", "description": "Commits an offset for a consumer group on a specific partition.\n\nThe topic must be a partition-level topic (e.g. `ns:my-topic~3`). The offset is the last\nsuccessfully processed offset; future receives will start after it.", "operationId": "v1.msgs.stream.commit", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgStreamCommitIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgStreamCommitOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs stream commit \"some_topic_name~0\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\",\n \"offset\": 1\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Stream.Commit(\n ctx,\n \"some_topic_name~0\",\n \"some_consumer_group\",\n MsgStreamCommitIn{\n Namespace: new(\"some_namespace\"),\n Offset: uint64(1),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getStream.commit(\n \"some_topic_name~0\",\n \"some_consumer_group\",\n new MsgStreamCommitIn()\n .namespace(\"some_namespace\")\n .offset(1L)\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.stream.commit(\n \"some_topic_name~0\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n offset: 1,\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.stream.commit(\n \"some_topic_name~0\",\n \"some_consumer_group\",\n MsgStreamCommitIn(\n namespace = \"some_namespace\",\n offset = 1,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .stream()\n .commit(\n \"some_topic_name~0\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgStreamCommitIn::new(1)\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.stream.seek": { "post": { "tags": [ "Msgs" ], "summary": "Stream Seek", "description": "Repositions a consumer group's read cursor on a topic.\n\nProvide exactly one of `offset`, `position`, or `timestamp`. When using `offset`, the topic\nmust include a partition suffix (e.g. `ns:my-topic~0`). The `position` field accepts\n`\"earliest\"` or `\"latest\"` and may be used with or without a partition suffix. The `timestamp`\nfield accepts a Unix timestamp in milliseconds and seeks to the first message at or after that\ntime.", "operationId": "v1.msgs.stream.seek", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgStreamSeekIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgStreamSeekOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs stream seek \"some_topic_name\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\",\n \"offset\": 1,\n \"position\": \"earliest\",\n \"timestamp\": 1776686400000\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Stream.Seek(\n ctx,\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgStreamSeekIn{\n Namespace: new(\"some_namespace\"),\n Offset: new(uint64(1)),\n Position: new(SEEKPOSITION_EARLIEST),\n Timestamp: new(diom.Timestamp(time.Date(2026, 04, 20, 12, 0, 0, 0, time.UTC))),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getStream.seek(\n \"some_topic_name\",\n \"some_consumer_group\",\n new MsgStreamSeekIn()\n .namespace(\"some_namespace\")\n .offset(1L)\n .position(\n SeekPosition.Earliest\n )\n .timestamp(Instant.parse(\"2026-04-20 12:00:00Z\"))\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.stream.seek(\n \"some_topic_name\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n offset: 1,\n position: SeekPosition.Earliest,\n timestamp: new Date(\"2026-04-20 12:00:00Z\"),\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.stream.seek(\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgStreamSeekIn(\n namespace = \"some_namespace\",\n offset = 1,\n position = SeekPosition.EARLIEST,\n timestamp = datetime.fromisoformat(\"2026-04-20 12:00:00Z\"),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .stream()\n .seek(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgStreamSeekIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_offset(1)\n .with_position(SeekPosition::Earliest)\n .with_timestamp(\"2026-04-20 12:00:00Z\".parse()?),\n )\n .await?;" } ] } }, "/api/v1.msgs.stream.cancel-lease": { "post": { "tags": [ "Msgs" ], "summary": "Stream Cancel Lease", "description": "Cancels a current stream lease.\n\nUsed when a consumer cannot process a batch and wants to release it immediately rather than\nwait for lease expiration.", "operationId": "v1.msgs.stream.cancel-lease", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgStreamCancelLeaseIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgStreamCancelLeaseOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs stream cancel-lease \"some_topic_name~0\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Stream.CancelLease(\n ctx,\n \"some_topic_name~0\",\n \"some_consumer_group\",\n MsgStreamCancelLeaseIn{\n Namespace: new(\"some_namespace\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getStream.cancelLease(\n \"some_topic_name~0\",\n \"some_consumer_group\",\n new MsgStreamCancelLeaseIn()\n .namespace(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.stream.cancelLease(\n \"some_topic_name~0\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.stream.cancel_lease(\n \"some_topic_name~0\",\n \"some_consumer_group\",\n MsgStreamCancelLeaseIn(\n namespace = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .stream()\n .cancel_lease(\n \"some_topic_name~0\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgStreamCancelLeaseIn::new()\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.queue.receive": { "post": { "tags": [ "Msgs" ], "summary": "Queue Receive", "description": "Receives messages from a topic as competing consumers.\n\nMessages are individually leased for the specified duration. Multiple consumers can receive\ndifferent messages from the same topic concurrently. Leased messages are skipped until they\nare acked or their lease expires.", "operationId": "v1.msgs.queue.receive", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueReceiveIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueReceiveOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs queue receive \"some_topic_name\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\",\n \"batch_size\": 1,\n \"lease_duration_ms\": 30000,\n \"batch_wait_ms\": 30000\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Queue.Receive(\n ctx,\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueReceiveIn{\n Namespace: new(\"some_namespace\"),\n BatchSize: new(uint16(1)),\n LeaseDuration: new(diom.DurationMs(30000)),\n BatchWait: new(diom.DurationMs(30000)),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getQueue.receive(\n \"some_topic_name\",\n \"some_consumer_group\",\n new MsgQueueReceiveIn()\n .namespace(\"some_namespace\")\n .batchSize(1)\n .leaseDurationMs(Duration.ofSeconds(30))\n .batchWaitMs(Duration.ofSeconds(30))\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.queue.receive(\n \"some_topic_name\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n batchSize: 1,\n leaseDuration: Temporal.Duration.from({ seconds: 30 }),\n batchWait: Temporal.Duration.from({ seconds: 30 }),\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.queue.receive(\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueReceiveIn(\n namespace = \"some_namespace\",\n batch_size = 1,\n lease_duration_ms = timedelta(seconds=30),\n batch_wait_ms = timedelta(seconds=30),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .queue()\n .receive(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgQueueReceiveIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_batch_size(1)\n .with_lease_duration(Duration::from_secs(30))\n .with_batch_wait(Duration::from_secs(30)),\n )\n .await?;" } ] } }, "/api/v1.msgs.queue.ack": { "post": { "tags": [ "Msgs" ], "summary": "Queue Ack", "description": "Acknowledges messages by their opaque msg_ids.\n\nAcked messages are permanently removed from the queue and will never be re-delivered.", "operationId": "v1.msgs.queue.ack", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueAckIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueAckOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs queue ack \"some_topic_name\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\",\n \"msg_ids\": []\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Queue.Ack(\n ctx,\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueAckIn{\n Namespace: new(\"some_namespace\"),\n MsgIds: []string{},\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getQueue.ack(\n \"some_topic_name\",\n \"some_consumer_group\",\n new MsgQueueAckIn()\n .namespace(\"some_namespace\")\n .msgIds(List.of())\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.queue.ack(\n \"some_topic_name\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n msgIds: [],\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.queue.ack(\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueAckIn(\n namespace = \"some_namespace\",\n msg_ids = [],\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .queue()\n .ack(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgQueueAckIn::new(vec![])\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.queue.extend-lease": { "post": { "tags": [ "Msgs" ], "summary": "Queue Extend Lease", "description": "Extends the lease on in-flight messages.\n\nConsumers that need more processing time can call this before the lease expires to prevent the\nmessage from being re-delivered to another consumer.", "operationId": "v1.msgs.queue.extend-lease", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueExtendLeaseIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueExtendLeaseOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs queue extend-lease \"some_topic_name\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\",\n \"msg_ids\": [],\n \"lease_duration_ms\": 30000\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Queue.ExtendLease(\n ctx,\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueExtendLeaseIn{\n Namespace: new(\"some_namespace\"),\n MsgIds: []string{},\n LeaseDuration: new(diom.DurationMs(30000)),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getQueue.extendLease(\n \"some_topic_name\",\n \"some_consumer_group\",\n new MsgQueueExtendLeaseIn()\n .namespace(\"some_namespace\")\n .msgIds(List.of())\n .leaseDurationMs(Duration.ofSeconds(30))\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.queue.extendLease(\n \"some_topic_name\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n msgIds: [],\n leaseDuration: Temporal.Duration.from({ seconds: 30 }),\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.queue.extend_lease(\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueExtendLeaseIn(\n namespace = \"some_namespace\",\n msg_ids = [],\n lease_duration_ms = timedelta(seconds=30),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .queue()\n .extend_lease(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgQueueExtendLeaseIn::new(vec![])\n .with_namespace(\"some_namespace\".to_owned())\n .with_lease_duration(Duration::from_secs(30)),\n )\n .await?;" } ] } }, "/api/v1.msgs.queue.configure": { "post": { "tags": [ "Msgs" ], "summary": "Queue Configure", "description": "Configures retry and DLQ behavior for a consumer group on a topic.\n\n`retry_schedule` is a list of delays (in millis) between retries after a nack. Once exhausted,\nthe message is moved to the DLQ (or forwarded to `dlq_topic` if set).", "operationId": "v1.msgs.queue.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueConfigureIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueConfigureOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs queue configure \"some_topic_name\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\",\n \"retry_schedule\": [],\n \"dlq_topic\": \"some_topic_name\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Queue.Configure(\n ctx,\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueConfigureIn{\n Namespace: new(\"some_namespace\"),\n RetrySchedule: []uint64{},\n DlqTopic: new(\"some_topic_name\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getQueue.configure(\n \"some_topic_name\",\n \"some_consumer_group\",\n new MsgQueueConfigureIn()\n .namespace(\"some_namespace\")\n .retrySchedule(List.of())\n .dlqTopic(\"some_topic_name\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.queue.configure(\n \"some_topic_name\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n retrySchedule: [],\n dlqTopic: \"some_topic_name\",\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.queue.configure(\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueConfigureIn(\n namespace = \"some_namespace\",\n retry_schedule = [],\n dlq_topic = \"some_topic_name\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .queue()\n .configure(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgQueueConfigureIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_retry_schedule(vec![])\n .with_dlq_topic(\"some_topic_name\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.queue.nack": { "post": { "tags": [ "Msgs" ], "summary": "Queue Nack", "description": "Rejects messages, sending them to the dead-letter queue.\n\nNacked messages will not be re-delivered by `queue/receive`. Use `queue/redrive-dlq` to\nmove them back to the queue for reprocessing.", "operationId": "v1.msgs.queue.nack", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueNackIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueNackOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs queue nack \"some_topic_name\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\",\n \"msg_ids\": []\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Queue.Nack(\n ctx,\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueNackIn{\n Namespace: new(\"some_namespace\"),\n MsgIds: []string{},\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getQueue.nack(\n \"some_topic_name\",\n \"some_consumer_group\",\n new MsgQueueNackIn()\n .namespace(\"some_namespace\")\n .msgIds(List.of())\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.queue.nack(\n \"some_topic_name\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n msgIds: [],\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.queue.nack(\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueNackIn(\n namespace = \"some_namespace\",\n msg_ids = [],\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .queue()\n .nack(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgQueueNackIn::new(vec![])\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.queue.redrive-dlq": { "post": { "tags": [ "Msgs" ], "summary": "Queue Redrive Dlq", "description": "Moves all dead-letter queue messages back to the main queue for reprocessing.", "operationId": "v1.msgs.queue.redrive-dlq", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueRedriveDlqIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgQueueRedriveDlqOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs queue redrive-dlq \"some_topic_name\" \"some_consumer_group\" '{\n \"namespace\": \"some_namespace\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Queue.RedriveDlq(\n ctx,\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueRedriveDlqIn{\n Namespace: new(\"some_namespace\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getQueue.redriveDlq(\n \"some_topic_name\",\n \"some_consumer_group\",\n new MsgQueueRedriveDlqIn()\n .namespace(\"some_namespace\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.queue.redriveDlq(\n \"some_topic_name\",\n \"some_consumer_group\",\n {\n namespace: \"some_namespace\",\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.queue.redrive_dlq(\n \"some_topic_name\",\n \"some_consumer_group\",\n MsgQueueRedriveDlqIn(\n namespace = \"some_namespace\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .queue()\n .redrive_dlq(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n MsgQueueRedriveDlqIn::new()\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.topic.configure": { "post": { "tags": [ "Msgs" ], "summary": "Topic Configure", "description": "Configures the number of partitions for a topic.\n\nPartition count can only be increased, never decreased. The default for a new topic is 1.", "operationId": "v1.msgs.topic.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgTopicConfigureIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MsgTopicConfigureOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs topic configure \"some_topic_name\" '{\n \"namespace\": \"some_namespace\",\n \"partitions\": 1\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Topic.Configure(\n ctx,\n \"some_topic_name\",\n MsgTopicConfigureIn{\n Namespace: new(\"some_namespace\"),\n Partitions: uint16(1),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getTopic.configure(\n \"some_topic_name\",\n new MsgTopicConfigureIn()\n .namespace(\"some_namespace\")\n .partitions(1)\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.topic.configure(\n \"some_topic_name\",\n {\n namespace: \"some_namespace\",\n partitions: 1,\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.topic.configure(\n \"some_topic_name\",\n MsgTopicConfigureIn(\n namespace = \"some_namespace\",\n partitions = 1,\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .topic()\n .configure(\n \"some_topic_name\".to_owned(),\n MsgTopicConfigureIn::new(1)\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.svix-poller.create": { "post": { "tags": [ "Msgs" ], "summary": "Svix Poller Create", "description": "Create a Svix poller configuration for a topic.", "operationId": "v1.msgs.svix-poller.create", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SvixPollerCreateIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SvixPollerCreateOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs svix-poller create '{\n \"namespace\": \"some_namespace\",\n \"topic\": \"some_topic_name\",\n \"poller_id\": \"sample string\",\n \"token\": \"sample string\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.SvixPoller.Create(\n ctx,\n SvixPollerCreateIn{\n Namespace: new(\"some_namespace\"),\n Topic: \"some_topic_name\",\n PollerId: \"sample string\",\n Token: \"sample string\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getSvixPoller.create(\n new SvixPollerCreateIn()\n .namespace(\"some_namespace\")\n .topic(\"some_topic_name\")\n .pollerId(\"sample string\")\n .token(\"sample string\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.svixPoller.create({\n namespace: \"some_namespace\",\n topic: \"some_topic_name\",\n pollerId: \"sample string\",\n token: \"sample string\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.svix_poller.create(\n SvixPollerCreateIn(\n namespace = \"some_namespace\",\n topic = \"some_topic_name\",\n poller_id = \"sample string\",\n token = \"sample string\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .svix_poller()\n .create(\n SvixPollerCreateIn::new(\n \"some_topic_name\".to_owned(),\n \"sample string\".to_owned(),\n \"sample string\".to_owned(),\n )\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.svix-poller.delete": { "post": { "tags": [ "Msgs" ], "summary": "Svix Poller Delete", "description": "Delete a Svix poller configuration.", "operationId": "v1.msgs.svix-poller.delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SvixPollerDeleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SvixPollerDeleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs svix-poller delete '{\n \"namespace\": \"some_namespace\",\n \"topic\": \"some_topic_name\",\n \"poller_id\": \"sample string\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.SvixPoller.Delete(\n ctx,\n SvixPollerDeleteIn{\n Namespace: new(\"some_namespace\"),\n Topic: \"some_topic_name\",\n PollerId: \"sample string\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getSvixPoller.delete(\n new SvixPollerDeleteIn()\n .namespace(\"some_namespace\")\n .topic(\"some_topic_name\")\n .pollerId(\"sample string\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.svixPoller.delete({\n namespace: \"some_namespace\",\n topic: \"some_topic_name\",\n pollerId: \"sample string\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.svix_poller.delete(\n SvixPollerDeleteIn(\n namespace = \"some_namespace\",\n topic = \"some_topic_name\",\n poller_id = \"sample string\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .svix_poller()\n .delete(\n SvixPollerDeleteIn::new(\n \"some_topic_name\".to_owned(),\n \"sample string\".to_owned(),\n )\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.svix-poller.list": { "post": { "tags": [ "Msgs" ], "summary": "Svix Poller List", "description": "List Svix poller configurations for a topic.", "operationId": "v1.msgs.svix-poller.list", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SvixPollerListIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponseSvixPollerOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs svix-poller list \"some_topic_name\" '{\n \"namespace\": \"some_namespace\",\n \"limit\": 1,\n \"iterator\": \"sample string\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.SvixPoller.List(\n ctx,\n \"some_topic_name\",\n SvixPollerListIn{\n Namespace: new(\"some_namespace\"),\n Limit: new(uint64(1)),\n Iterator: new(\"sample string\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getSvixPoller.list(\n \"some_topic_name\",\n new SvixPollerListIn()\n .namespace(\"some_namespace\")\n .limit(1L)\n .iterator(\"sample string\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.svixPoller.list(\n \"some_topic_name\",\n {\n namespace: \"some_namespace\",\n limit: 1,\n iterator: \"sample string\",\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.svix_poller.list(\n \"some_topic_name\",\n SvixPollerListIn(\n namespace = \"some_namespace\",\n limit = 1,\n iterator = \"sample string\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .svix_poller()\n .list(\n \"some_topic_name\".to_owned(),\n SvixPollerListIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_limit(1)\n .with_iterator(\"sample string\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.sink.configure": { "post": { "tags": [ "Msgs" ], "summary": "Sink Configure", "description": "Create or update a sink for a topic. Overwrites any existing sink with the same id.", "operationId": "v1.msgs.sink.configure", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinkConfigureIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinkConfigureOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs sink configure '{\n \"namespace\": \"some_namespace\",\n \"topic\": \"some_topic_name\",\n \"consumer_group\": \"some_consumer_group\",\n \"default_starting_position\": \"earliest\",\n \"max_in_flight\": 1,\n \"config\": {\"type\": \"http\",\n \"data\": {\n \"url\": \"My name is ${name}!\",\n \"method\": \"post\",\n \"headers\": {},\n \"body\": \"My name is ${name}!\"\n }\n }\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Sink.Configure(\n ctx,\n SinkConfigureIn{\n Namespace: new(\"some_namespace\"),\n Topic: \"some_topic_name\",\n ConsumerGroup: \"some_consumer_group\",\n DefaultStartingPosition: new(SEEKPOSITION_EARLIEST),\n MaxInFlight: new(uint32(1)),\n Config: SinkConfig{\n Data: (HttpSinkConfig{\n Url: \"My name is ${name}!\",\n Method: new(HTTPMETHOD_POST),\n Headers: nil,\n Body: new(\"My name is ${name}!\"),\n }),\n Type: \"http\",\n },\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getSink.configure(\n new SinkConfigureIn()\n .namespace(\"some_namespace\")\n .topic(\"some_topic_name\")\n .consumerGroup(\"some_consumer_group\")\n .defaultStartingPosition(\n SeekPosition.Earliest\n )\n .maxInFlight(1)\n .config(\n new SinkConfig().data(new SinkConfigData.Http(new HttpSinkConfig()\n .url(\"My name is ${name}!\")\n .method(\n HttpMethod.Post\n )\n .headers(Map.of())\n .body(\"My name is ${name}!\")))\n )\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.sink.configure({\n namespace: \"some_namespace\",\n topic: \"some_topic_name\",\n consumerGroup: \"some_consumer_group\",\n defaultStartingPosition: SeekPosition.Earliest,\n maxInFlight: 1,\n config: {type: \"http\",\n data: {\n url: \"My name is ${name}!\",\n method: HttpMethod.Post,\n headers: {},\n body: \"My name is ${name}!\",\n }\n \n },\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.sink.configure(\n SinkConfigureIn(\n namespace = \"some_namespace\",\n topic = \"some_topic_name\",\n consumer_group = \"some_consumer_group\",\n default_starting_position = SeekPosition.EARLIEST,\n max_in_flight = 1,\n config = SinkConfig(\n type = \"http\",\n data = HttpSinkConfig(\n url = \"My name is ${name}!\",\n method = HttpMethod.POST,\n headers = {},\n body = \"My name is ${name}!\",\n )\n\n ),\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .sink()\n .configure(\n SinkConfigureIn::new(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n SinkConfig::new(),\n )\n .with_namespace(\"some_namespace\".to_owned())\n .with_default_starting_position(SeekPosition::Earliest)\n .with_max_in_flight(1),\n )\n .await?;" } ] } }, "/api/v1.msgs.sink.delete": { "post": { "tags": [ "Msgs" ], "summary": "Sink Delete", "description": "Delete a sink.", "operationId": "v1.msgs.sink.delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinkDeleteIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinkDeleteOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs sink delete '{\n \"namespace\": \"some_namespace\",\n \"topic\": \"some_topic_name\",\n \"consumer_group\": \"some_consumer_group\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Sink.Delete(\n ctx,\n SinkDeleteIn{\n Namespace: new(\"some_namespace\"),\n Topic: \"some_topic_name\",\n ConsumerGroup: \"some_consumer_group\",\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getSink.delete(\n new SinkDeleteIn()\n .namespace(\"some_namespace\")\n .topic(\"some_topic_name\")\n .consumerGroup(\"some_consumer_group\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.sink.delete({\n namespace: \"some_namespace\",\n topic: \"some_topic_name\",\n consumerGroup: \"some_consumer_group\",\n});" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.sink.delete(\n SinkDeleteIn(\n namespace = \"some_namespace\",\n topic = \"some_topic_name\",\n consumer_group = \"some_consumer_group\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .sink()\n .delete(\n SinkDeleteIn::new(\n \"some_topic_name\".to_owned(),\n \"some_consumer_group\".to_owned(),\n )\n .with_namespace(\"some_namespace\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.msgs.sink.list": { "post": { "tags": [ "Msgs" ], "summary": "Sink List", "description": "List sink configurations for a topic.", "operationId": "v1.msgs.sink.list", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinkListIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponseSinkOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom msgs sink list \"some_topic_name\" '{\n \"namespace\": \"some_namespace\",\n \"limit\": 1,\n \"iterator\": \"sample string\"\n}'" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Msgs.Sink.List(\n ctx,\n \"some_topic_name\",\n SinkListIn{\n Namespace: new(\"some_namespace\"),\n Limit: new(uint64(1)),\n Iterator: new(\"sample string\"),\n },\n)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getMsgs.getSink.list(\n \"some_topic_name\",\n new SinkListIn()\n .namespace(\"some_namespace\")\n .limit(1L)\n .iterator(\"sample string\")\n);" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.msgs.sink.list(\n \"some_topic_name\",\n {\n namespace: \"some_namespace\",\n limit: 1,\n iterator: \"sample string\",\n },\n);" }, { "lang": "Python", "label": "Python", "source": "response = diom.msgs.sink.list(\n \"some_topic_name\",\n SinkListIn(\n namespace = \"some_namespace\",\n limit = 1,\n iterator = \"sample string\",\n ),\n);" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.msgs()\n .sink()\n .list(\n \"some_topic_name\".to_owned(),\n SinkListIn::new()\n .with_namespace(\"some_namespace\".to_owned())\n .with_limit(1)\n .with_iterator(\"sample string\".to_owned()),\n )\n .await?;" } ] } }, "/api/v1.health.ping": { "get": { "tags": [ "Health" ], "summary": "Ping", "description": "Verify the server is up and running.", "operationId": "v1.health.ping", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PingOut" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom health ping" }, { "lang": "Go", "label": "Go", "source": "response, err := diom.Health.Ping(ctx)" }, { "lang": "Java", "label": "Java", "source": "var response = diom.getHealth.ping();" }, { "lang": "TypeScript", "label": "JavaScript", "source": "const response = await diom.health.ping();" }, { "lang": "Python", "label": "Python", "source": "response = diom.health.ping();" }, { "lang": "Rust", "label": "Rust", "source": "let response = diom.health()\n .ping()\n .await?;" } ] } }, "/api/v1.health.error": { "post": { "tags": [ "Health" ], "summary": "Error", "description": "Intentionally return an error", "operationId": "v1.health.error", "responses": { "204": { "description": "no content" }, "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorBody" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "lang": "Shell", "label": "CLI", "source": "diom health error" }, { "lang": "Go", "label": "Go", "source": "err := diom.Health.Error(ctx)" }, { "lang": "Java", "label": "Java", "source": "diom.getHealth.error();" }, { "lang": "TypeScript", "label": "JavaScript", "source": "await diom.health.error();" }, { "lang": "Python", "label": "Python", "source": "diom.health.error();" }, { "lang": "Rust", "label": "Rust", "source": "diom.health()\n .error()\n .await?;" } ] } } }, "components": { "securitySchemes": { "HTTPBearer": { "type": "http", "scheme": "bearer", "description": "HTTP Bearer token passed in the `Authorization` header" } }, "schemas": { "AccessRule": { "type": "object", "properties": { "effect": { "$ref": "#/components/schemas/AccessRuleEffect" }, "resource": { "type": "string" }, "actions": { "type": "array", "items": { "type": "string" } } }, "required": [ "effect", "resource", "actions" ] }, "AccessRuleEffect": { "type": "string", "enum": [ "allow", "deny" ] }, "AdminAccessPolicyConfigureIn": { "type": "object", "properties": { "id": { "type": "string", "example": "some_access_policy" }, "description": { "type": "string", "example": "policy description…" }, "rules": { "type": "array", "items": { "$ref": "#/components/schemas/AccessRule" }, "default": [] } }, "required": [ "id", "description" ] }, "AdminAccessPolicyConfigureOut": { "type": "object", "properties": { "id": { "type": "string", "example": "some_access_policy" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "id", "created", "updated" ] }, "AdminAccessPolicyDeleteIn": { "type": "object", "properties": { "id": { "type": "string", "example": "some_access_policy" } }, "required": [ "id" ] }, "AdminAccessPolicyDeleteOut": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [ "success" ] }, "AdminAccessPolicyGetIn": { "type": "object", "properties": { "id": { "type": "string", "example": "some_access_policy" } }, "required": [ "id" ] }, "AdminAccessPolicyListIn": { "type": "object", "properties": { "limit": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "minimum": 1, "maximum": 250, "default": 50 }, "iterator": { "description": "The iterator returned from a prior invocation", "type": "string", "example": "some_access_policy", "nullable": true } } }, "AdminAccessPolicyOut": { "type": "object", "properties": { "id": { "type": "string", "example": "some_access_policy" }, "description": { "type": "string" }, "rules": { "type": "array", "items": { "$ref": "#/components/schemas/AccessRule" } }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "id", "description", "rules", "created", "updated" ] }, "AdminAuthTokenCreateIn": { "type": "object", "properties": { "name": { "type": "string", "example": "some token name" }, "role": { "type": "string", "example": "some token role" }, "expiry_ms": { "description": "Milliseconds from now until the token expires.", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true }, "enabled": { "description": "Whether the token is enabled. Defaults to `true`.", "type": "boolean", "default": true } }, "required": [ "name", "role" ] }, "AdminAuthTokenCreateOut": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "token": { "type": "string" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "id", "token", "created", "updated" ] }, "AdminAuthTokenDeleteIn": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" } }, "required": [ "id" ] }, "AdminAuthTokenDeleteOut": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [ "success" ] }, "AdminAuthTokenExpireIn": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "expiry_ms": { "description": "Milliseconds from now until the token expires. `None` means expire immediately.", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true } }, "required": [ "id" ] }, "AdminAuthTokenExpireOut": { "type": "object" }, "AdminAuthTokenListIn": { "type": "object", "properties": { "limit": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "minimum": 1, "maximum": 250, "default": 50 }, "iterator": { "description": "The iterator returned from a prior invocation", "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w", "nullable": true } } }, "AdminAuthTokenOut": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "name": { "type": "string" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "expiry": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs", "nullable": true }, "role": { "type": "string" }, "enabled": { "description": "Whether this token is currently enabled.", "type": "boolean" }, "expired": { "description": "Whether this token has expired.\n\nExpired tokens may be pruned in the background at any time.", "type": "boolean" } }, "required": [ "id", "name", "created", "updated", "role", "enabled", "expired" ] }, "AdminAuthTokenRotateIn": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" } }, "required": [ "id" ] }, "AdminAuthTokenRotateOut": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "token": { "type": "string" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "id", "token", "created", "updated" ] }, "AdminAuthTokenUpdateIn": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "name": { "type": "string", "nullable": true, "example": "some token name" }, "expiry_ms": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true }, "enabled": { "type": "boolean", "nullable": true } }, "required": [ "id" ] }, "AdminAuthTokenUpdateOut": { "type": "object" }, "AdminAuthTokenWhoamiIn": { "type": "object" }, "AdminAuthTokenWhoamiOut": { "type": "object", "properties": { "role": { "type": "string", "example": "some_role_id" } }, "required": [ "role" ] }, "AdminRoleConfigureIn": { "type": "object", "properties": { "id": { "type": "string", "example": "some_role_id" }, "description": { "type": "string", "example": "role description…" }, "rules": { "type": "array", "items": { "$ref": "#/components/schemas/AccessRule" }, "default": [] }, "policies": { "type": "array", "items": { "type": "string", "example": "some_access_policy" }, "default": [] }, "context": { "type": "object", "default": {}, "additionalProperties": { "type": "string" } } }, "required": [ "id", "description" ] }, "AdminRoleConfigureOut": { "type": "object", "properties": { "id": { "type": "string", "example": "some_role_id" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "id", "created", "updated" ] }, "AdminRoleDeleteIn": { "type": "object", "properties": { "id": { "type": "string", "example": "some_role_id" } }, "required": [ "id" ] }, "AdminRoleDeleteOut": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [ "success" ] }, "AdminRoleGetIn": { "type": "object", "properties": { "id": { "type": "string", "example": "some_role_id" } }, "required": [ "id" ] }, "AdminRoleListIn": { "type": "object", "properties": { "limit": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "minimum": 1, "maximum": 250, "default": 50 }, "iterator": { "description": "The iterator returned from a prior invocation", "type": "string", "example": "some_role_id", "nullable": true } } }, "AdminRoleOut": { "type": "object", "properties": { "id": { "type": "string", "example": "some_role_id" }, "description": { "type": "string" }, "rules": { "type": "array", "items": { "$ref": "#/components/schemas/AccessRule" } }, "policies": { "type": "array", "items": { "type": "string", "example": "some_access_policy" } }, "context": { "type": "object", "additionalProperties": { "type": "string" } }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "id", "description", "rules", "policies", "context", "created", "updated" ] }, "AuthTokenConfigureNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "AuthTokenConfigureNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "created", "updated" ] }, "AuthTokenCreateIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "nullable": true }, "name": { "type": "string", "example": "some token name" }, "prefix": { "type": "string", "default": "sk" }, "suffix": { "type": "string", "nullable": true }, "expiry_ms": { "description": "Milliseconds from now until the token expires.", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true }, "metadata": { "type": "object", "default": {}, "additionalProperties": { "type": "string" } }, "owner_id": { "type": "string", "example": "owner ID" }, "scopes": { "type": "array", "items": { "type": "string" }, "default": [] }, "enabled": { "description": "Whether the token is enabled. Defaults to `true`.", "type": "boolean", "default": true } }, "required": [ "name", "owner_id" ] }, "AuthTokenCreateOut": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "token": { "type": "string" } }, "required": [ "id", "created", "updated", "token" ] }, "AuthTokenDeleteIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "nullable": true }, "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" } }, "required": [ "id" ] }, "AuthTokenDeleteOut": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [ "success" ] }, "AuthTokenExpireIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "nullable": true }, "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "expiry_ms": { "description": "Milliseconds from now until the token expires. `None` means expire immediately.", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true } }, "required": [ "id" ] }, "AuthTokenExpireOut": { "type": "object" }, "AuthTokenGetNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "AuthTokenGetNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "created", "updated" ] }, "AuthTokenListIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "nullable": true }, "owner_id": { "type": "string" }, "limit": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "minimum": 1, "maximum": 250, "default": 50 }, "iterator": { "description": "The iterator returned from a prior invocation", "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w", "nullable": true } }, "required": [ "owner_id" ] }, "AuthTokenOut": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "name": { "type": "string" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "expiry": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "owner_id": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } }, "enabled": { "description": "Whether this token is currently enabled.", "type": "boolean" } }, "required": [ "id", "name", "created", "updated", "metadata", "owner_id", "scopes", "enabled" ] }, "AuthTokenRotateIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "nullable": true }, "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "prefix": { "type": "string", "default": "sk" }, "suffix": { "type": "string", "nullable": true }, "expiry_ms": { "description": "Milliseconds from now until the old token expires. `None` means expire immediately.", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true } }, "required": [ "id" ] }, "AuthTokenRotateOut": { "type": "object", "properties": { "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "token": { "type": "string" } }, "required": [ "id", "created", "updated", "token" ] }, "AuthTokenUpdateIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "nullable": true }, "id": { "type": "string", "example": "key_06etngr201xwv7qj08mt4cs03w" }, "name": { "type": "string", "nullable": true }, "expiry_ms": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "scopes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "enabled": { "type": "boolean", "nullable": true } }, "required": [ "id" ] }, "AuthTokenUpdateOut": { "type": "object" }, "AuthTokenVerifyIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "nullable": true }, "token": { "type": "string" } }, "required": [ "token" ] }, "AuthTokenVerifyOut": { "type": "object", "properties": { "token": { "$ref": "#/components/schemas/AuthTokenOut", "nullable": true } } }, "CacheConfigureNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "eviction_policy": { "default": "no-eviction", "$ref": "#/components/schemas/EvictionPolicy" } }, "required": [ "name" ] }, "CacheConfigureNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "eviction_policy": { "$ref": "#/components/schemas/EvictionPolicy" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "eviction_policy", "created", "updated" ] }, "CacheDeleteIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" } }, "required": [ "key" ], "x-positional": [ "key" ] }, "CacheDeleteOut": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [ "success" ] }, "CacheGetIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "consistency": { "default": "weak", "$ref": "#/components/schemas/Consistency" } }, "required": [ "key" ], "x-positional": [ "key" ] }, "CacheGetNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "CacheGetNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "eviction_policy": { "$ref": "#/components/schemas/EvictionPolicy" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "eviction_policy", "created", "updated" ] }, "CacheGetOut": { "type": "object", "properties": { "expiry": { "description": "Time of expiry", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs", "nullable": true }, "value": { "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 }, "nullable": true } } }, "CacheSetIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "value": { "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 } }, "ttl_ms": { "description": "Time to live in milliseconds", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs" } }, "required": [ "key", "value", "ttl_ms" ], "x-positional": [ "key", "value" ] }, "CacheSetOut": { "type": "object" }, "ClusterForceElectionIn": { "type": "object" }, "ClusterForceElectionOut": { "type": "object", "properties": { "previous_leader_id": { "type": "string", "example": "a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8", "nullable": true }, "new_leader_id": { "type": "string", "example": "a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8", "nullable": true } } }, "ClusterForceSnapshotIn": { "type": "object" }, "ClusterForceSnapshotOut": { "type": "object", "properties": { "snapshot_time": { "description": "The wall-clock time at which the snapshot was initiated", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "snapshot_log_index": { "description": "The log index at which the snapshot was initiated", "type": "integer", "format": "uint64", "minimum": 0 }, "snapshot_id": { "description": "If this is `null`, the snapshot is still building in the background", "type": "string", "nullable": true } }, "required": [ "snapshot_time", "snapshot_log_index" ] }, "ClusterInitializeIn": { "type": "object" }, "ClusterInitializeOut": { "type": "object", "properties": { "cluster_id": { "type": "string" } }, "required": [ "cluster_id" ] }, "ClusterRemoveNodeIn": { "type": "object", "properties": { "node_id": { "type": "string", "example": "a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8" } }, "required": [ "node_id" ] }, "ClusterRemoveNodeOut": { "type": "object", "properties": { "node_id": { "type": "string", "example": "a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8" } }, "required": [ "node_id" ] }, "ClusterStatusOut": { "type": "object", "properties": { "cluster_id": { "description": "The unique ID of this cluster.\n\nThis value is populated on cluster initialization and will never change.", "type": "string", "nullable": true }, "cluster_name": { "description": "The name of this cluster (as defined in the config)\n\nThis value is not replicated and should only be used for debugging.", "type": "string", "nullable": true }, "this_node_id": { "description": "The unique ID of the node servicing this request", "type": "string", "example": "a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8" }, "this_node_state": { "description": "The cluster state of the node servicing this request", "$ref": "#/components/schemas/ServerState" }, "this_node_last_committed_timestamp": { "description": "The timestamp of the last transaction committed on this node", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "this_node_last_snapshot_id": { "description": "The last snapshot taken on this node", "type": "string", "nullable": true }, "nodes": { "description": "A list of all nodes known to be in the cluster", "type": "array", "items": { "$ref": "#/components/schemas/NodeStatusOut" } } }, "required": [ "this_node_id", "this_node_state", "this_node_last_committed_timestamp", "nodes" ] }, "Consistency": { "description": "Consistency level for reads.\n\nStrong consistency (also known as linearizability) guarantees that a read will see all previous\nwrites. Weak consistency allows stale reads, but can save one or more round trip to the leader.", "type": "string", "enum": [ "strong", "weak" ] }, "ErrorBody": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ErrorType" }, "code": { "type": "string" }, "detail": { "type": "string" }, "location": { "type": "string", "nullable": true } }, "required": [ "type", "code", "detail" ] }, "ErrorType": { "type": "string", "enum": [ "invalid-input", "operation-error", "server-error" ] }, "EvictionPolicy": { "type": "string", "enum": [ "no-eviction" ] }, "GetMetricsOut": { "type": "object", "properties": { "metrics": { "type": "array", "items": { "$ref": "#/components/schemas/MetricOut" } } }, "required": [ "metrics" ] }, "HttpMethod": { "type": "string", "enum": [ "post", "put", "patch" ] }, "HttpSinkConfig": { "description": "Configuration for an HTTP sink. The `url`, `headers`, and `body` are templates rendered\nper-message (see [`diom_core::template_str`]).", "type": "object", "properties": { "url": { "description": "Destination URL.", "type": "string", "example": "My name is ${name}!" }, "method": { "default": "post", "$ref": "#/components/schemas/HttpMethod" }, "headers": { "type": "object", "default": {}, "additionalProperties": { "type": "string", "example": "My name is ${name}!" } }, "body": { "description": "Templated request body. When absent, the raw message value bytes are sent unchanged.", "type": "string", "example": "My name is ${name}!", "default": null, "nullable": true } }, "required": [ "url" ] }, "IdempotencyAbortIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" } }, "required": [ "key" ], "x-positional": [ "key" ] }, "IdempotencyAbortOut": { "type": "object" }, "IdempotencyCompleteIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "response": { "description": "The response to cache", "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 } }, "context": { "description": "Optional metadata to store alongside the response", "type": "object", "default": null, "additionalProperties": { "type": "string" }, "nullable": true }, "ttl_ms": { "description": "How long to keep the idempotency response for.", "type": "integer", "format": "uint64", "minimum": 1, "x-subtype": "DurationMs" } }, "required": [ "key", "response", "ttl_ms" ], "x-positional": [ "key" ] }, "IdempotencyCompleteOut": { "type": "object" }, "IdempotencyCompleted": { "type": "object", "properties": { "response": { "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 } }, "context": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true } }, "required": [ "response" ] }, "IdempotencyConfigureNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "IdempotencyConfigureNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "created", "updated" ] }, "IdempotencyGetNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "IdempotencyGetNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "created", "updated" ] }, "IdempotencyStartIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "lock_period_ms": { "description": "How long to hold the lock on start before releasing it.", "type": "integer", "format": "uint64", "minimum": 1, "x-subtype": "DurationMs" } }, "required": [ "key", "lock_period_ms" ], "x-positional": [ "key" ] }, "IdempotencyStartOut": { "oneOf": [ { "description": "Lock acquired, request should proceed", "type": "object", "properties": { "status": { "type": "string", "enum": [ "started" ] } }, "required": [ "status" ] }, { "description": "Request is already in progress (locked)", "type": "object", "properties": { "status": { "type": "string", "enum": [ "locked" ] } }, "required": [ "status" ] }, { "description": "Request was already completed, cached response returned", "type": "object", "properties": { "status": { "type": "string", "enum": [ "completed" ] }, "data": { "$ref": "#/components/schemas/IdempotencyCompleted" } }, "required": [ "status", "data" ] } ] }, "KvConfigureNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "KvConfigureNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "created", "updated" ] }, "KvDeleteIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "version": { "description": "If set, the delete only succeeds when the stored version matches this value.\nUse the `version` field from a prior `get` response.", "type": "integer", "format": "uint64", "minimum": 0, "nullable": true } }, "required": [ "key" ], "x-positional": [ "key" ] }, "KvDeleteOut": { "type": "object", "properties": { "success": { "description": "Whether the operation succeeded or was a noop due to pre-conditions.", "type": "boolean" } }, "required": [ "success" ] }, "KvGetIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "consistency": { "default": "strong", "$ref": "#/components/schemas/Consistency" } }, "required": [ "key" ], "x-positional": [ "key" ] }, "KvGetNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "KvGetNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "created", "updated" ] }, "KvGetOut": { "type": "object", "properties": { "expiry": { "description": "Time of expiry", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs", "nullable": true }, "value": { "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 }, "nullable": true }, "version": { "description": "Opaque version token for optimistic concurrency control.\nPass as `version` in a subsequent `set` to perform a conditional write.", "type": "integer", "format": "uint64", "minimum": 0 } }, "required": [ "version" ] }, "KvSetIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "value": { "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 } }, "ttl_ms": { "description": "Time to live in milliseconds", "type": "integer", "format": "uint64", "minimum": 1, "x-subtype": "DurationMs", "nullable": true }, "behavior": { "default": "upsert", "$ref": "#/components/schemas/OperationBehavior" }, "version": { "description": "If set, the write only succeeds when the stored version matches this value.\nUse the `version` field from a prior `get` response.", "type": "integer", "format": "uint64", "minimum": 0, "nullable": true } }, "required": [ "key", "value" ], "x-positional": [ "key", "value" ] }, "KvSetOut": { "type": "object", "properties": { "version": { "type": "integer", "format": "uint64", "minimum": 0 } }, "required": [ "version" ] }, "ListResponseAdminAccessPolicyOut": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/AdminAccessPolicyOut" } }, "iterator": { "type": "string", "nullable": true }, "prev_iterator": { "type": "string", "nullable": true }, "done": { "type": "boolean" } }, "required": [ "data", "done" ] }, "ListResponseAdminAuthTokenOut": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/AdminAuthTokenOut" } }, "iterator": { "type": "string", "nullable": true }, "prev_iterator": { "type": "string", "nullable": true }, "done": { "type": "boolean" } }, "required": [ "data", "done" ] }, "ListResponseAdminRoleOut": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/AdminRoleOut" } }, "iterator": { "type": "string", "nullable": true }, "prev_iterator": { "type": "string", "nullable": true }, "done": { "type": "boolean" } }, "required": [ "data", "done" ] }, "ListResponseAuthTokenOut": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/AuthTokenOut" } }, "iterator": { "type": "string", "nullable": true }, "prev_iterator": { "type": "string", "nullable": true }, "done": { "type": "boolean" } }, "required": [ "data", "done" ] }, "ListResponseSinkOut": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SinkOut" } }, "iterator": { "type": "string", "nullable": true }, "prev_iterator": { "type": "string", "nullable": true }, "done": { "type": "boolean" } }, "required": [ "data", "done" ] }, "ListResponseSvixPollerOut": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SvixPollerOut" } }, "iterator": { "type": "string", "nullable": true }, "prev_iterator": { "type": "string", "nullable": true }, "done": { "type": "boolean" } }, "required": [ "data", "done" ] }, "MetricOut": { "type": "object", "properties": { "label": { "description": "Label for this series", "type": "string" }, "description": { "description": "Human-readable description of this series", "type": "string" }, "attributes": { "description": "Key/Value pairs attached to this sequence", "type": "object", "additionalProperties": { "type": "string" } }, "value": { "description": "Most recent data point for this series\n\nAll points (u64, i64, and f64) are squished into an f64, be careful\nof inexactness for values above 2**53.", "type": "number", "format": "double" }, "metric_type": { "description": "Type of this metric\n\nHistograms are not currently exported through this API, and can\nonly be accessed through OTLP.", "$ref": "#/components/schemas/MetricType" }, "timestamp": { "description": "Timestamp this metric was collected", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "unit": { "description": "Optional unit, following UCUM unit conventions if possible\n\nSee https://ucum.org/ for details", "type": "string", "nullable": true } }, "required": [ "label", "description", "attributes", "value", "metric_type", "timestamp" ] }, "MetricType": { "type": "string", "enum": [ "counter", "gauge" ] }, "MsgIn": { "type": "object", "properties": { "value": { "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 } }, "headers": { "type": "object", "default": {}, "additionalProperties": { "type": "string" } }, "key": { "description": "Optional partition key.\n\nMessages with the same key are routed to the same partition.", "type": "string", "nullable": true }, "delay_ms": { "description": "Optional delay in milliseconds.\n\nThe message will not be delivered to queue consumers\nuntil the delay has elapsed from the time of publish.", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "default": null, "nullable": true } }, "required": [ "value" ] }, "MsgNamespaceConfigureIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "retention": { "default": { "period_ms": null, "size_bytes": null }, "$ref": "#/components/schemas/Retention" } }, "required": [ "name" ], "x-positional": [ "name" ] }, "MsgNamespaceConfigureOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "retention": { "$ref": "#/components/schemas/Retention" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "retention", "created", "updated" ] }, "MsgNamespaceGetIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ], "x-positional": [ "name" ] }, "MsgNamespaceGetOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "retention": { "$ref": "#/components/schemas/Retention" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "retention", "created", "updated" ] }, "MsgPublishIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "msgs": { "type": "array", "items": { "$ref": "#/components/schemas/MsgIn" } }, "idempotency_key": { "type": "string", "nullable": true, "default": null, "example": "my_idempotency_key" } }, "required": [ "topic", "msgs" ], "x-positional": [ "topic" ] }, "MsgPublishOut": { "type": "object", "properties": { "topics": { "type": "array", "items": { "$ref": "#/components/schemas/MsgPublishOutTopic" } } }, "required": [ "topics" ] }, "MsgPublishOutTopic": { "type": "object", "properties": { "topic": { "type": "string", "example": "some_topic_name~0" }, "start_offset": { "type": "integer", "format": "uint64", "minimum": 0 }, "offset": { "type": "integer", "format": "uint64", "minimum": 0 } }, "required": [ "topic", "start_offset", "offset" ] }, "MsgQueueAckIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "msg_ids": { "type": "array", "items": { "type": "string" } } }, "required": [ "topic", "consumer_group", "msg_ids" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgQueueAckOut": { "type": "object" }, "MsgQueueConfigureIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "retry_schedule": { "type": "array", "items": { "type": "integer", "format": "uint64", "minimum": 0 }, "default": [] }, "dlq_topic": { "type": "string", "example": "some_topic_name", "nullable": true } }, "required": [ "topic", "consumer_group" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgQueueConfigureOut": { "type": "object", "properties": { "retry_schedule": { "type": "array", "items": { "type": "integer", "format": "uint64", "minimum": 0 } }, "dlq_topic": { "type": "string", "example": "some_topic_name", "nullable": true } }, "required": [ "retry_schedule" ] }, "MsgQueueExtendLeaseIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "msg_ids": { "type": "array", "items": { "type": "string" } }, "lease_duration_ms": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "default": 30000 } }, "required": [ "topic", "consumer_group", "msg_ids" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgQueueExtendLeaseOut": { "type": "object" }, "MsgQueueNackIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "msg_ids": { "type": "array", "items": { "type": "string" } } }, "required": [ "topic", "consumer_group", "msg_ids" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgQueueNackOut": { "type": "object" }, "MsgQueueReceiveIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "batch_size": { "type": "integer", "format": "uint16", "minimum": 1, "maximum": 65535, "default": 10 }, "lease_duration_ms": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "default": 30000 }, "batch_wait_ms": { "description": "Maximum time (in milliseconds) to wait for messages before returning.", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "default": null, "nullable": true } }, "required": [ "topic", "consumer_group" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgQueueReceiveOut": { "type": "object", "properties": { "msgs": { "type": "array", "items": { "$ref": "#/components/schemas/QueueMsgOut" } } }, "required": [ "msgs" ] }, "MsgQueueRedriveDlqIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" } }, "required": [ "topic", "consumer_group" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgQueueRedriveDlqOut": { "type": "object" }, "MsgStreamCancelLeaseIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name~0" }, "consumer_group": { "type": "string", "example": "some_consumer_group" } }, "required": [ "topic", "consumer_group" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgStreamCancelLeaseOut": { "type": "object" }, "MsgStreamCommitIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name~0" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "offset": { "type": "integer", "format": "uint64", "minimum": 0 } }, "required": [ "topic", "consumer_group", "offset" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgStreamCommitOut": { "type": "object" }, "MsgStreamReceiveIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "batch_size": { "type": "integer", "format": "uint16", "minimum": 1, "maximum": 65535, "default": 10 }, "lease_duration_ms": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "default": 300000 }, "default_starting_position": { "default": "latest", "$ref": "#/components/schemas/SeekPosition" }, "batch_wait_ms": { "description": "Maximum time (in milliseconds) to wait for messages before returning.", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "default": null, "nullable": true } }, "required": [ "topic", "consumer_group" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgStreamReceiveOut": { "type": "object", "properties": { "msgs": { "type": "array", "items": { "$ref": "#/components/schemas/StreamMsgOut" } } }, "required": [ "msgs" ] }, "MsgStreamSeekIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "offset": { "type": "integer", "format": "uint64", "minimum": 0, "nullable": true }, "position": { "$ref": "#/components/schemas/SeekPosition", "nullable": true }, "timestamp": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs", "nullable": true } }, "required": [ "topic", "consumer_group" ], "x-positional": [ "topic", "consumer_group" ] }, "MsgStreamSeekOut": { "type": "object" }, "MsgTopicConfigureIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "partitions": { "type": "integer", "format": "uint16", "minimum": 0, "maximum": 65535 } }, "required": [ "topic", "partitions" ], "x-positional": [ "topic" ] }, "MsgTopicConfigureOut": { "type": "object", "properties": { "partitions": { "type": "integer", "format": "uint16", "minimum": 0, "maximum": 65535 } }, "required": [ "partitions" ] }, "NodeStatusOut": { "type": "object", "properties": { "node_id": { "description": "A unique ID representing this node.\n\nThis will never change unless the node is erased and reset", "type": "string", "example": "a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8" }, "address": { "description": "The advertised inter-server (cluster) address of this node.", "type": "string" }, "state": { "description": "The last known state of this node", "$ref": "#/components/schemas/ServerState" }, "last_committed_log_index": { "description": "The index of the last log applied on this node", "type": "integer", "format": "uint64", "minimum": 0, "nullable": true }, "last_committed_term": { "description": "The raft term of the last committed leadership", "type": "integer", "format": "uint64", "minimum": 0, "nullable": true } }, "required": [ "node_id", "address", "state" ] }, "OperationBehavior": { "type": "string", "enum": [ "upsert", "insert", "update" ] }, "PingOut": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "required": [ "ok" ] }, "QueueMsgOut": { "type": "object", "properties": { "msg_id": { "type": "string" }, "value": { "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 } }, "headers": { "type": "object", "additionalProperties": { "type": "string" } }, "timestamp": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "scheduled_at": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs", "nullable": true } }, "required": [ "msg_id", "value", "headers", "timestamp" ] }, "RateLimitCheckIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "tokens": { "description": "Number of tokens to consume (default: 1)", "type": "integer", "format": "uint64", "minimum": 0, "default": 1 }, "config": { "description": "Rate limiter configuration", "$ref": "#/components/schemas/RateLimitConfig" } }, "required": [ "key", "config" ] }, "RateLimitCheckOut": { "type": "object", "properties": { "allowed": { "description": "Whether the request is allowed", "type": "boolean" }, "remaining": { "description": "Number of tokens remaining", "type": "integer", "format": "uint64", "minimum": 0 }, "retry_after_ms": { "description": "Milliseconds until enough tokens are available (only present when allowed is false)", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true } }, "required": [ "allowed", "remaining" ] }, "RateLimitConfig": { "type": "object", "properties": { "capacity": { "description": "Maximum capacity of the bucket", "type": "integer", "format": "uint64", "minimum": 1 }, "refill_amount": { "description": "Number of tokens to add per refill interval", "type": "integer", "format": "uint64", "minimum": 1 }, "refill_interval_ms": { "description": "Interval in milliseconds between refills (minimum 1 millisecond)", "type": "integer", "format": "uint64", "minimum": 1, "x-subtype": "DurationMs", "default": 1000 } }, "required": [ "capacity", "refill_amount" ] }, "RateLimitConfigureNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "RateLimitConfigureNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "created", "updated" ] }, "RateLimitGetNamespaceIn": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" } }, "required": [ "name" ] }, "RateLimitGetNamespaceOut": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace" }, "created": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "updated": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" } }, "required": [ "name", "created", "updated" ] }, "RateLimitGetRemainingIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "config": { "description": "Rate limiter configuration", "$ref": "#/components/schemas/RateLimitConfig" } }, "required": [ "key", "config" ] }, "RateLimitGetRemainingOut": { "type": "object", "properties": { "remaining": { "description": "Number of tokens remaining", "type": "integer", "format": "uint64", "minimum": 0 }, "retry_after_ms": { "description": "Milliseconds until at least one token is available (only present when remaining is 0)", "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true } }, "required": [ "remaining" ] }, "RateLimitResetIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+:]+$", "example": "some_key" }, "config": { "description": "Rate limiter configuration", "$ref": "#/components/schemas/RateLimitConfig" } }, "required": [ "key", "config" ] }, "RateLimitResetOut": { "type": "object" }, "Retention": { "type": "object", "properties": { "period_ms": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "DurationMs", "nullable": true } } }, "SeekPosition": { "type": "string", "enum": [ "earliest", "latest" ] }, "ServerState": { "type": "string", "enum": [ "leader", "follower", "learner", "candidate", "shutdown", "unknown" ] }, "SinkConfig": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "http" ] }, "data": { "$ref": "#/components/schemas/HttpSinkConfig" } }, "required": [ "type", "data" ] } ] }, "SinkConfigureIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "description": "The topic whose messages are forwarded to the sink. Created automatically if it does not\nexist.", "type": "string", "example": "some_topic_name" }, "consumer_group": { "description": "The consumer group that identifies the sink and tracks its progress through the topic.", "type": "string", "example": "some_consumer_group" }, "default_starting_position": { "description": "Where a freshly-created sink starts consuming the topic. Defaults to `earliest`.", "default": "earliest", "$ref": "#/components/schemas/SeekPosition" }, "max_in_flight": { "description": "At most how many concurrent requests will be sent to the Sink.", "type": "integer", "format": "uint32", "minimum": 1, "default": null, "nullable": true }, "config": { "$ref": "#/components/schemas/SinkConfig" } }, "required": [ "topic", "consumer_group", "config" ] }, "SinkConfigureOut": { "type": "object", "properties": { "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" } }, "required": [ "topic", "consumer_group" ] }, "SinkDeleteIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" } }, "required": [ "topic", "consumer_group" ] }, "SinkDeleteOut": { "type": "object", "properties": { "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "success": { "type": "boolean" } }, "required": [ "topic", "consumer_group", "success" ] }, "SinkListIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "limit": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "minimum": 1, "maximum": 250, "default": 50 }, "iterator": { "description": "The iterator returned from a prior invocation", "type": "string", "nullable": true } }, "required": [ "topic" ], "x-positional": [ "topic" ] }, "SinkOut": { "type": "object", "properties": { "topic": { "type": "string", "example": "some_topic_name" }, "consumer_group": { "type": "string", "example": "some_consumer_group" }, "default_starting_position": { "description": "Where a freshly-created sink starts consuming the topic. Defaults to `earliest`.", "default": "earliest", "$ref": "#/components/schemas/SeekPosition" }, "max_in_flight": { "description": "At most how many concurrent requests will be sent to the Sink.", "type": "integer", "format": "uint32", "minimum": 1, "default": null, "nullable": true }, "config": { "$ref": "#/components/schemas/SinkConfig" } }, "required": [ "topic", "consumer_group", "config" ] }, "StreamMsgOut": { "type": "object", "properties": { "offset": { "type": "integer", "format": "uint64", "minimum": 0 }, "topic": { "type": "string", "example": "some_topic_name~0" }, "value": { "type": "array", "items": { "type": "integer", "format": "uint8", "minimum": 0, "maximum": 255 } }, "headers": { "type": "object", "additionalProperties": { "type": "string" } }, "timestamp": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs" }, "scheduled_at": { "type": "integer", "format": "uint64", "minimum": 0, "x-subtype": "UnixTimestampMs", "nullable": true } }, "required": [ "offset", "topic", "value", "headers", "timestamp" ] }, "SvixPollerCreateIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "description": "The topic that polled webhooks will be written too. If the topic does not exist,\na new topic will be created automatically.", "type": "string", "example": "some_topic_name" }, "poller_id": { "description": "A user chosen unique identifier for the Poller.", "type": "string" }, "token": { "description": "The AutoConfig token generated by Svix.", "type": "string" } }, "required": [ "topic", "poller_id", "token" ] }, "SvixPollerCreateOut": { "type": "object", "properties": { "topic": { "type": "string", "example": "some_topic_name" }, "poller_id": { "type": "string" } }, "required": [ "topic", "poller_id" ] }, "SvixPollerDeleteIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "poller_id": { "type": "string" } }, "required": [ "topic", "poller_id" ] }, "SvixPollerDeleteOut": { "type": "object", "properties": { "topic": { "type": "string", "example": "some_topic_name" }, "poller_id": { "type": "string" }, "success": { "type": "boolean" } }, "required": [ "topic", "poller_id", "success" ] }, "SvixPollerListIn": { "type": "object", "properties": { "namespace": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-/_.=+]+$", "example": "some_namespace", "default": null, "nullable": true }, "topic": { "type": "string", "example": "some_topic_name" }, "limit": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "minimum": 1, "maximum": 250, "default": 50 }, "iterator": { "description": "The iterator returned from a prior invocation", "type": "string", "nullable": true } }, "required": [ "topic" ], "x-positional": [ "topic" ] }, "SvixPollerOut": { "type": "object", "properties": { "topic": { "type": "string", "example": "some_topic_name" }, "poller_id": { "type": "string" }, "token": { "description": "The autoconfig token, obfuscated (e.g. `auto_v1_eyJh...fQ==`).", "type": "string" } }, "required": [ "topic", "poller_id", "token" ] } } }, "tags": [ { "name": "Cache" }, { "name": "Idempotency" }, { "name": "Key Value Store" }, { "name": "Rate Limiter" }, { "name": "Stream" }, { "name": "Health" } ] }