diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock new file mode 100644 index 000000000..d265ab4c6 --- /dev/null +++ b/.speakeasy/workflow.lock @@ -0,0 +1,25 @@ +speakeasyVersion: 1.763.4 +sources: + merge-code-samples-into-spec: + sourceNamespace: merge-code-samples-into-spec + sourceRevisionDigest: sha256:654f85f601afe1cfd48dfe677513517d47910e17406baf1ed7036aa259e875c8 + sourceBlobDigest: sha256:fac3ca2571771340c9f9cfa63eb1f8f42794565aabe8fced7885f07e6bc2a7a2 + tags: + - latest + - 0.0.1 +targets: {} +workflow: + workflowVersion: 1.0.0 + speakeasyVersion: latest + sources: + merge-code-samples-into-spec: + inputs: + - location: registry.speakeasyapi.dev/hathora/hathora/my-source + overlays: + - location: registry.speakeasyapi.dev/hathora/hathora/code-samples-unity-cloud-sdk-unity:main + - location: registry.speakeasyapi.dev/hathora/hathora/code-samples-typescript-hathora-typescript:main + - location: registry.speakeasyapi.dev/hathora/hathora/code-samples-java-hathora-java:main + output: openapi-with-code-samples.json + registry: + location: registry.speakeasyapi.dev/hathora/hathora/merge-code-samples-into-spec + targets: {} diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml index 97d8f6586..920cea98d 100644 --- a/.speakeasy/workflow.yaml +++ b/.speakeasy/workflow.yaml @@ -1,4 +1,5 @@ workflowVersion: 1.0.0 +speakeasyVersion: latest sources: merge-code-samples-into-spec: inputs: @@ -8,4 +9,6 @@ sources: - location: registry.speakeasyapi.dev/hathora/hathora/code-samples-typescript-hathora-typescript:main - location: registry.speakeasyapi.dev/hathora/hathora/code-samples-java-hathora-java:main output: openapi-with-code-samples.json + registry: + location: registry.speakeasyapi.dev/hathora/hathora/merge-code-samples-into-spec targets: {} diff --git a/openapi-with-code-samples.json b/openapi-with-code-samples.json new file mode 100644 index 000000000..f2ea778f9 --- /dev/null +++ b/openapi-with-code-samples.json @@ -0,0 +1,19805 @@ +{ + "openapi": "3.0.0", + "components": { + "examples": {}, + "headers": {}, + "parameters": {}, + "requestBodies": {}, + "responses": {}, + "schemas": { + "OrgTokenId": { + "type": "string", + "example": "org-token-af469a92-5b45-4565-b3c4-b79878de67d2", + "description": "System generated unique identifier for an organization token." + }, + "OrgTokenName": { + "type": "string", + "example": "ci-token", + "description": "Readable name for a token. Must be unique within an organization.", + "maxLength": 64 + }, + "OrgTokenStatus": { + "type": "string", + "enum": [ + "active", + "revoked" + ], + "x-speakeasy-unknown-values": "allow" + }, + "UserEmail": { + "type": "string", + "example": "noreply@hathora.dev", + "description": "A user's email." + }, + "AttributionId": { + "oneOf": [ + { + "$ref": "#/components/schemas/UserEmail" + }, + { + "$ref": "#/components/schemas/OrgTokenId" + } + ] + }, + "Scope": { + "type": "string", + "enum": [ + "billing:read-write", + "builds:read", + "builds:read-write", + "deployments:read", + "deployments:read-write", + "applications:read", + "applications:read-write", + "processes:read", + "processes:read-write", + "fleets:read", + "fleets:read-write", + "orgs:read", + "orgs:read-write", + "tokens:read", + "tokens:read-write", + "tickets:read", + "tickets:read-write", + "load-balancer:access" + ], + "x-speakeasy-unknown-values": "allow" + }, + "OrgToken": { + "properties": { + "scopes": { + "oneOf": [ + { + "items": { + "$ref": "#/components/schemas/Scope" + }, + "type": "array" + }, + { + "type": "string", + "enum": [ + "admin" + ], + "x-speakeasy-unknown-values": "allow" + } + ], + "description": "If not defined, the token has Admin access." + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "$ref": "#/components/schemas/AttributionId", + "description": "The email address or token id for the user that created the token.", + "example": "noreply@hathora.dev" + }, + "lastFourCharsOfKey": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/OrgTokenStatus" + }, + "name": { + "$ref": "#/components/schemas/OrgTokenName" + }, + "orgId": { + "type": "string" + }, + "orgTokenId": { + "$ref": "#/components/schemas/OrgTokenId" + } + }, + "required": [ + "createdAt", + "createdBy", + "lastFourCharsOfKey", + "status", + "name", + "orgId", + "orgTokenId" + ], + "type": "object" + }, + "ListOrgTokens": { + "properties": { + "tokens": { + "items": { + "$ref": "#/components/schemas/OrgToken" + }, + "type": "array" + } + }, + "required": [ + "tokens" + ], + "type": "object" + }, + "OrgId": { + "type": "string", + "example": "org-6f706e83-0ec1-437a-9a46-7d4281eb2f39", + "description": "System generated unique identifier for an organization. Not guaranteed to have a specific format." + }, + "ApiError": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "CreatedOrgToken": { + "properties": { + "plainTextToken": { + "type": "string" + }, + "orgToken": { + "$ref": "#/components/schemas/OrgToken" + } + }, + "required": [ + "plainTextToken", + "orgToken" + ], + "type": "object" + }, + "CreateOrgToken": { + "properties": { + "scopes": { + "oneOf": [ + { + "items": { + "$ref": "#/components/schemas/Scope" + }, + "type": "array" + }, + { + "type": "string", + "enum": [ + "admin" + ], + "x-speakeasy-unknown-values": "allow" + } + ], + "description": "If not defined, the token has Admin access." + }, + "name": { + "$ref": "#/components/schemas/OrgTokenName" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "LBAccessToken": { + "properties": { + "orgId": { + "$ref": "#/components/schemas/OrgId" + }, + "hashedToken": { + "type": "string" + } + }, + "required": [ + "orgId", + "hashedToken" + ], + "type": "object" + }, + "Region": { + "type": "string", + "enum": [ + "Seattle", + "Los_Angeles", + "Washington_DC", + "Chicago", + "London", + "Frankfurt", + "Mumbai", + "Singapore", + "Tokyo", + "Sydney", + "Sao_Paulo", + "Dallas", + "Johannesburg", + "Dubai" + ], + "x-speakeasy-unknown-values": "allow" + }, + "RegionCloudSettings": { + "properties": { + "cloudMinVcpus": { + "type": "integer", + "format": "int32", + "description": "The min vCPUs in cloud for the given region. Should be a multiple of nodeSpecVcpus." + }, + "nodeSpecVcpus": { + "type": "integer", + "format": "int32", + "description": "Currently only accepted values are 8, 16, 32." + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "cloudMinVcpus", + "nodeSpecVcpus", + "region" + ], + "type": "object" + }, + "CreateProUpgradeTicket": { + "properties": { + "userNotes": { + "type": "string", + "description": "Notes written by the customer.", + "maxLength": 5000 + }, + "targetUpdateTime": { + "type": "string", + "format": "date-time", + "description": "Must be >= 2 business days from creation time." + }, + "cloudSettings": { + "items": { + "$ref": "#/components/schemas/RegionCloudSettings" + }, + "type": "array" + }, + "type": { + "type": "string", + "enum": [ + "pro-upgrade-ticket" + ], + "nullable": false, + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "userNotes", + "targetUpdateTime", + "cloudSettings", + "type" + ], + "type": "object" + }, + "TicketId": { + "type": "string", + "example": "tkt-af469a92-5b45-4565-b3c4-b79878de67d2", + "description": "System generated unique identifier for a ticket." + }, + "ProUpgradeTicketStatus": { + "type": "string", + "enum": [ + "created", + "in-progress", + "closed", + "completed" + ], + "x-speakeasy-unknown-values": "allow" + }, + "ProUpgradeTicket": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateProUpgradeTicket" + }, + { + "properties": { + "adminNotes": { + "type": "string", + "description": "Notes written by the admin. Visible to the customer.", + "maxLength": 5000 + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "status": { + "$ref": "#/components/schemas/ProUpgradeTicketStatus" + }, + "ticketId": { + "$ref": "#/components/schemas/TicketId" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + } + }, + "required": [ + "adminNotes", + "updatedAt", + "createdAt", + "status", + "ticketId", + "orgId" + ], + "type": "object" + } + ] + }, + "Ticket": { + "$ref": "#/components/schemas/ProUpgradeTicket" + }, + "TicketsPage": { + "properties": { + "tickets": { + "items": { + "$ref": "#/components/schemas/Ticket" + }, + "type": "array" + } + }, + "required": [ + "tickets" + ], + "type": "object" + }, + "CreateTicket": { + "$ref": "#/components/schemas/CreateProUpgradeTicket" + }, + "Partial_UserUpdateTicket_": { + "properties": { + "type": { + "type": "string", + "enum": [ + "pro-upgrade-ticket" + ], + "nullable": false, + "x-speakeasy-unknown-values": "allow" + }, + "cloudSettings": { + "items": { + "$ref": "#/components/schemas/RegionCloudSettings" + }, + "type": "array" + }, + "targetUpdateTime": { + "type": "string", + "format": "date-time", + "description": "Must be >= 2 business days from current time." + }, + "userNotes": { + "type": "string", + "description": "Notes written by the customer.", + "maxLength": 5000 + }, + "closeTicket": { + "type": "boolean" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_AdminUpdateTicket_": { + "properties": { + "type": { + "type": "string", + "enum": [ + "pro-upgrade-ticket" + ], + "nullable": false, + "x-speakeasy-unknown-values": "allow" + }, + "cloudSettings": { + "items": { + "$ref": "#/components/schemas/RegionCloudSettings" + }, + "type": "array" + }, + "targetUpdateTime": { + "type": "string", + "format": "date-time", + "description": "Must be >= 2 business days from creation time." + }, + "userNotes": { + "type": "string", + "description": "Notes written by the customer.", + "maxLength": 5000 + }, + "adminNotes": { + "type": "string", + "description": "Notes written by the admin. Visible to the customer.", + "maxLength": 5000 + }, + "status": { + "$ref": "#/components/schemas/ProUpgradeTicketStatus" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "RoomId": { + "type": "string", + "example": "2swovpy1fnunu", + "description": "Unique identifier to a game session or match. Use the default system generated ID or overwrite it with your own.\nNote: error will be returned if `roomId` is not globally unique.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9._-]*$" + }, + "AppId": { + "type": "string", + "example": "app-af469a92-5b45-4565-b3c4-b79878de67d2", + "description": "System generated unique identifier for an application." + }, + "RoomConfig": { + "type": "string", + "example": "{\"name\":\"my-room\"}", + "description": "Optional configuration parameters for the room. Can be any string including stringified JSON. It is accessible from the room via [`GetRoomInfo()`](https://hathora.dev/api#tag/RoomV2/operation/GetRoomInfo).", + "maxLength": 10000 + }, + "ClientIP": { + "type": "string", + "example": "123.123.123.123", + "pattern": "^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$" + }, + "GlobalDeploymentId": { + "type": "string", + "example": "dep-6d4c6a71-2d75-4b42-94e1-f312f57f33c5", + "description": "System generated id for a deployment." + }, + "CreateRoomParams": { + "properties": { + "deploymentId": { + "$ref": "#/components/schemas/GlobalDeploymentId" + }, + "clientIPs": { + "items": { + "$ref": "#/components/schemas/ClientIP" + }, + "type": "array", + "description": "An optional list of client IP addresses to whitelist for DDoS protection.", + "maxItems": 100 + }, + "roomConfig": { + "$ref": "#/components/schemas/RoomConfig" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "RoomAllocationId": { + "type": "string", + "example": "e3a0aa32-1711-4036-acfa-008b96061a78", + "description": "System generated unique identifier to an allocated instance of a room." + }, + "ProcessId": { + "type": "string", + "example": "cbfcddd2-0006-43ae-996c-995fff7bed2e", + "description": "System generated unique identifier to a runtime instance of your game server." + }, + "RoomAllocation": { + "properties": { + "unscheduledAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "scheduledAt": { + "type": "string", + "format": "date-time" + }, + "processId": { + "$ref": "#/components/schemas/ProcessId" + }, + "roomAllocationId": { + "$ref": "#/components/schemas/RoomAllocationId" + } + }, + "required": [ + "unscheduledAt", + "scheduledAt", + "processId", + "roomAllocationId" + ], + "type": "object", + "description": "Metadata on an allocated instance of a room." + }, + "RoomStatus": { + "type": "string", + "enum": [ + "scheduling", + "active", + "destroyed" + ], + "example": "active", + "description": "The allocation status of a room.\n\n`scheduling`: a process is not allocated yet and the room is waiting to be scheduled\n\n`active`: ready to accept connections\n\n`destroyed`: all associated metadata is deleted", + "x-speakeasy-unknown-values": "allow" + }, + "Room": { + "properties": { + "currentAllocation": { + "allOf": [ + { + "$ref": "#/components/schemas/RoomAllocation" + } + ], + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/RoomStatus" + }, + "allocations": { + "items": { + "$ref": "#/components/schemas/RoomAllocation" + }, + "type": "array" + }, + "roomConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/RoomConfig" + } + ], + "nullable": true + }, + "roomId": { + "$ref": "#/components/schemas/RoomId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "currentAllocation", + "status", + "allocations", + "roomId", + "appId" + ], + "type": "object", + "description": "A room object represents a game session or match." + }, + "RoomWithoutAllocations": { + "properties": { + "currentAllocation": { + "allOf": [ + { + "$ref": "#/components/schemas/RoomAllocation" + } + ], + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/RoomStatus" + }, + "roomConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/RoomConfig" + } + ], + "nullable": true + }, + "roomId": { + "$ref": "#/components/schemas/RoomId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "currentAllocation", + "status", + "roomId", + "appId" + ], + "type": "object" + }, + "StartingConnectionInfo": { + "properties": { + "status": { + "type": "string", + "enum": [ + "starting" + ], + "nullable": false, + "x-speakeasy-unknown-values": "allow" + }, + "roomId": { + "$ref": "#/components/schemas/RoomId" + } + }, + "required": [ + "status", + "roomId" + ], + "type": "object" + }, + "TransportType": { + "type": "string", + "enum": [ + "tcp", + "udp", + "tls" + ], + "description": "Transport type specifies the underlying communication protocol to the exposed port.", + "x-speakeasy-unknown-values": "allow" + }, + "ActiveConnectionInfo": { + "properties": { + "status": { + "type": "string", + "enum": [ + "active" + ], + "nullable": false, + "x-speakeasy-unknown-values": "allow" + }, + "transportType": { + "$ref": "#/components/schemas/TransportType" + }, + "port": { + "type": "number", + "format": "double" + }, + "host": { + "type": "string" + }, + "roomId": { + "$ref": "#/components/schemas/RoomId" + } + }, + "required": [ + "status", + "transportType", + "port", + "host", + "roomId" + ], + "type": "object" + }, + "ConnectionInfo": { + "oneOf": [ + { + "$ref": "#/components/schemas/StartingConnectionInfo" + }, + { + "$ref": "#/components/schemas/ActiveConnectionInfo" + } + ], + "description": "Connection information to the default port." + }, + "RoomReadyStatus": { + "type": "string", + "enum": [ + "active", + "starting" + ], + "x-speakeasy-unknown-values": "allow" + }, + "ExposedPort": { + "properties": { + "transportType": { + "$ref": "#/components/schemas/TransportType" + }, + "port": { + "type": "integer", + "format": "int32" + }, + "host": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "transportType", + "port", + "host", + "name" + ], + "type": "object", + "example": { + "host": "1.proxy.hathora.dev", + "name": "default", + "port": 34567, + "transportType": "tcp" + }, + "description": "Connection details for an active process." + }, + "ConnectionInfoV2": { + "properties": { + "additionalExposedPorts": { + "items": { + "$ref": "#/components/schemas/ExposedPort" + }, + "type": "array", + "example": [ + { + "host": "1.proxy.hathora.dev", + "name": "debug", + "port": 72941, + "transportType": "tcp" + } + ] + }, + "exposedPort": { + "$ref": "#/components/schemas/ExposedPort" + }, + "status": { + "$ref": "#/components/schemas/RoomReadyStatus", + "description": "`exposedPort` will only be available when the `status` of a room is \"active\".", + "example": "active" + }, + "roomId": { + "$ref": "#/components/schemas/RoomId" + } + }, + "required": [ + "additionalExposedPorts", + "status", + "roomId" + ], + "type": "object", + "description": "Connection information for the default and additional ports." + }, + "RoomConnectionData": { + "allOf": [ + { + "$ref": "#/components/schemas/ConnectionInfoV2" + }, + { + "properties": { + "processId": { + "$ref": "#/components/schemas/ProcessId" + } + }, + "required": [ + "processId" + ], + "type": "object" + } + ] + }, + "UpdateRoomConfigParams": { + "properties": { + "roomConfig": { + "$ref": "#/components/schemas/RoomConfig" + } + }, + "required": [ + "roomConfig" + ], + "type": "object" + }, + "RoomAllocationData": { + "allOf": [ + { + "$ref": "#/components/schemas/ConnectionInfoV2" + }, + { + "properties": { + "processId": { + "$ref": "#/components/schemas/ProcessId" + } + }, + "type": "object" + } + ] + }, + "DeploymentId": { + "type": "integer", + "format": "int32", + "example": 1, + "description": "System generated id for a deployment. Increments by 1." + }, + "NumRoomsPerProcess": { + "type": "integer", + "format": "int32", + "example": 3, + "description": "Governs how many [rooms](https://hathora.dev/docs/concepts/hathora-entities#room) can be scheduled in a process.", + "minimum": 1, + "maximum": 10000 + }, + "Process": { + "properties": { + "egressedBytes": { + "type": "integer", + "format": "int32", + "description": "Measures network traffic leaving the process in bytes.", + "example": 435 + }, + "idleSince": { + "type": "string", + "format": "date-time", + "nullable": true, + "deprecated": true + }, + "activeConnectionsUpdatedAt": { + "type": "string", + "format": "date-time", + "deprecated": true + }, + "activeConnections": { + "type": "integer", + "format": "int32", + "description": "Tracks the number of active connections to a process.", + "example": 10, + "deprecated": true + }, + "roomsAllocatedUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "roomsAllocated": { + "type": "integer", + "format": "int32", + "description": "Tracks the number of rooms that have been allocated to the process.", + "example": 1 + }, + "roomSlotsAvailableUpdatedAt": { + "type": "string", + "format": "date-time", + "deprecated": true + }, + "roomSlotsAvailable": { + "type": "number", + "format": "double", + "deprecated": true + }, + "draining": { + "type": "boolean", + "description": "Process in drain will not accept any new rooms." + }, + "terminatedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process has been terminated." + }, + "stoppingAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process is issued to stop. We use this to determine when we should stop billing." + }, + "startedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process bound to the specified port. We use this to determine when we should start billing." + }, + "startingAt": { + "type": "string", + "format": "date-time", + "description": "When the process started being provisioned." + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "additionalExposedPorts": { + "items": { + "$ref": "#/components/schemas/ExposedPort" + }, + "type": "array", + "example": [ + { + "host": "1.proxy.hathora.dev", + "name": "debug", + "port": 72941, + "transportType": "tcp" + } + ] + }, + "exposedPort": { + "allOf": [ + { + "$ref": "#/components/schemas/ExposedPort" + } + ], + "nullable": true + }, + "port": { + "type": "number", + "format": "double", + "deprecated": true + }, + "host": { + "type": "string", + "deprecated": true + }, + "region": { + "$ref": "#/components/schemas/Region" + }, + "processId": { + "$ref": "#/components/schemas/ProcessId" + }, + "deploymentId": { + "$ref": "#/components/schemas/DeploymentId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "egressedBytes", + "idleSince", + "activeConnectionsUpdatedAt", + "activeConnections", + "roomsAllocatedUpdatedAt", + "roomsAllocated", + "roomSlotsAvailableUpdatedAt", + "roomSlotsAvailable", + "draining", + "terminatedAt", + "stoppingAt", + "startedAt", + "startingAt", + "roomsPerProcess", + "additionalExposedPorts", + "exposedPort", + "port", + "host", + "region", + "processId", + "deploymentId", + "appId" + ], + "type": "object", + "description": "A process object represents a runtime instance of your game server and its metadata." + }, + "ProcessWithRooms": { + "allOf": [ + { + "$ref": "#/components/schemas/Process" + }, + { + "properties": { + "rooms": { + "items": { + "$ref": "#/components/schemas/RoomWithoutAllocations" + }, + "type": "array" + }, + "totalRooms": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "rooms", + "totalRooms" + ], + "type": "object" + } + ] + }, + "ProcessStatus": { + "type": "string", + "enum": [ + "starting", + "running", + "draining", + "stopping", + "stopped", + "failed" + ], + "x-speakeasy-unknown-values": "allow" + }, + "ProcessV2": { + "properties": { + "status": { + "$ref": "#/components/schemas/ProcessStatus", + "description": "Process in drain will not accept any new rooms." + }, + "roomsAllocated": { + "type": "integer", + "format": "int32", + "description": "Tracks the number of rooms that have been allocated to the process.", + "example": 1 + }, + "terminatedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process has been terminated." + }, + "stoppingAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process is issued to stop. We use this to determine when we should stop billing." + }, + "startedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process bound to the specified port. We use this to determine when we should start billing." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the process started being provisioned." + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "additionalExposedPorts": { + "items": { + "$ref": "#/components/schemas/ExposedPort" + }, + "type": "array", + "example": [ + { + "host": "1.proxy.hathora.dev", + "name": "debug", + "port": 72941, + "transportType": "tcp" + } + ] + }, + "exposedPort": { + "allOf": [ + { + "$ref": "#/components/schemas/ExposedPort" + } + ], + "nullable": true + }, + "region": { + "$ref": "#/components/schemas/Region" + }, + "processId": { + "$ref": "#/components/schemas/ProcessId" + }, + "deploymentId": { + "$ref": "#/components/schemas/DeploymentId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "status", + "roomsAllocated", + "terminatedAt", + "stoppingAt", + "startedAt", + "createdAt", + "roomsPerProcess", + "additionalExposedPorts", + "exposedPort", + "region", + "processId", + "deploymentId", + "appId" + ], + "type": "object" + }, + "FleetId": { + "type": "string", + "description": "The id of the fleet." + }, + "Hosting": { + "type": "string", + "enum": [ + "metal", + "cloud", + "shared" + ], + "x-speakeasy-unknown-values": "allow" + }, + "ProcessV3": { + "properties": { + "hosting": { + "$ref": "#/components/schemas/Hosting", + "description": "Whether the process is running on bare metal, cloud, shared infra, or has not been scheduled." + }, + "status": { + "$ref": "#/components/schemas/ProcessStatus", + "description": "Process in drain will not accept any new rooms." + }, + "roomsAllocated": { + "type": "integer", + "format": "int32", + "description": "Tracks the number of rooms that have been allocated to the process.", + "example": 1 + }, + "summaryExitReason": { + "type": "string", + "description": "The summary of why the process exited, if it has stopped." + }, + "terminatedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process has been terminated." + }, + "stoppingAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process is issued to stop." + }, + "startedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process bound to the specified port. We use this to determine when to register the process to the load balancer." + }, + "bootedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the container was fully downloaded and started booting." + }, + "scheduledAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the process was assigned to an available node." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the process started being provisioned." + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "additionalExposedPorts": { + "items": { + "$ref": "#/components/schemas/ExposedPort" + }, + "type": "array", + "example": [ + { + "host": "1.proxy.hathora.dev", + "name": "debug", + "port": 72941, + "transportType": "tcp" + } + ] + }, + "exposedPort": { + "allOf": [ + { + "$ref": "#/components/schemas/ExposedPort" + } + ], + "nullable": true + }, + "region": { + "$ref": "#/components/schemas/Region" + }, + "processId": { + "$ref": "#/components/schemas/ProcessId" + }, + "fleetId": { + "$ref": "#/components/schemas/FleetId" + }, + "deploymentId": { + "$ref": "#/components/schemas/GlobalDeploymentId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "status", + "roomsAllocated", + "terminatedAt", + "stoppingAt", + "startedAt", + "bootedAt", + "scheduledAt", + "createdAt", + "roomsPerProcess", + "additionalExposedPorts", + "exposedPort", + "region", + "processId", + "deploymentId", + "appId" + ], + "type": "object" + }, + "MetricValue": { + "properties": { + "value": { + "type": "number", + "format": "double" + }, + "timestamp": { + "type": "number", + "format": "double" + } + }, + "required": [ + "value", + "timestamp" + ], + "type": "object" + }, + "ProcessMetricsData": { + "properties": { + "gpuMemory": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "gpuUtilization": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "activeConnections": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "totalEgress": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "rateEgress": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "memory": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "cpu": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "ProcessMetricName": { + "type": "string", + "enum": [ + "cpu", + "memory", + "rateEgress", + "totalEgress", + "activeConnections", + "gpuMemory", + "gpuUtilization" + ], + "description": "Available metrics to query over time.", + "x-speakeasy-unknown-values": "allow" + }, + "MetricsStep": { + "type": "integer", + "format": "int32", + "default": 60, + "description": "Width of time in seconds to group data." + }, + "OrganizationName": { + "type": "string", + "description": "The name of an organization.", + "maxLength": 100 + }, + "PodMaxLifespan": { + "type": "number", + "enum": [ + 2, + 24, + 48, + 72 + ], + "description": "The maximum lifespan in hours of a pod.", + "x-speakeasy-unknown-values": "allow" + }, + "Organization": { + "properties": { + "maxCloudBaseline": { + "type": "integer", + "format": "int32", + "description": "The maximum number of cloud nodes that can be set as baseline\nIf undefined, the default is 10" + }, + "maxProcessConnections": { + "type": "number", + "format": "double", + "description": "The maximum number of inbound connections that can be made to a process\nIf undefined, the default is 1024 connections" + }, + "logRetentionPeriodHours": { + "type": "integer", + "format": "int32", + "description": "The retention period for process logs in hours\nIf undefined, the default is 72h" + }, + "podMaxLifespanHrs": { + "$ref": "#/components/schemas/PodMaxLifespan" + }, + "monthlyProcessVcpuHoursLimit": { + "type": "number", + "format": "double", + "description": "The maximum number of monthly process vcpu hours that can be run by the organization\nIf undefined, the organization has no limit." + }, + "concurrentProcessVcpusLimit": { + "type": "number", + "format": "double", + "description": "The maximum number of concurrent processes that can be run by the organization\nIf undefined, the organization has no limit." + }, + "enabledFeatureFlags": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The features enabled for this organization and user." + }, + "maxRequestedMemoryMB": { + "type": "number", + "format": "double", + "description": "The maximum memory in MB that can be used by any process in this organization." + }, + "scopes": { + "items": { + "$ref": "#/components/schemas/Scope" + }, + "type": "array", + "description": "The scopes the user who loaded this has on this organization." + }, + "isSingleTenant": { + "type": "boolean" + }, + "defaultFleetId": { + "allOf": [ + { + "$ref": "#/components/schemas/FleetId" + } + ], + "nullable": true, + "description": "The default fleet ID for this organization." + }, + "stripeCustomerId": { + "type": "string" + }, + "name": { + "$ref": "#/components/schemas/OrganizationName" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + } + }, + "required": [ + "maxRequestedMemoryMB", + "scopes", + "isSingleTenant", + "stripeCustomerId", + "orgId" + ], + "type": "object" + }, + "OrgsPage": { + "properties": { + "orgs": { + "items": { + "$ref": "#/components/schemas/Organization" + }, + "type": "array" + } + }, + "required": [ + "orgs" + ], + "type": "object" + }, + "UpdateOrg": { + "properties": { + "maxCloudBaseline": { + "type": "integer", + "format": "int32", + "description": "The maximum number of cloud nodes that can be set as baseline\nIf undefined, the default is 10", + "minimum": 0, + "maximum": 1000 + }, + "maxProcessConnections": { + "type": "integer", + "format": "int32", + "description": "The maximum number of inbound connections that can be made to a process\nIf undefined, the default is 1024 connections", + "minimum": 0, + "maximum": 10000 + }, + "logRetentionPeriodHours": { + "type": "integer", + "format": "int32", + "description": "The retention period for process logs in hours\nIf undefined, the default is 72h" + }, + "podMaxLifespanHrs": { + "$ref": "#/components/schemas/PodMaxLifespan" + }, + "monthlyProcessVcpuHoursLimit": { + "type": "number", + "format": "double", + "description": "The maximum number of monthly process vcpu hours that can be run by the organization\nIf undefined, the organization has no limit." + }, + "concurrentProcessVcpusLimit": { + "type": "number", + "format": "double", + "description": "The maximum number of concurrent processes that can be run by the organization\nIf undefined, the organization has no limit." + }, + "enabledFeatureFlags": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The features enabled for this organization and user." + }, + "maxRequestedMemoryMB": { + "type": "number", + "format": "double", + "description": "The maximum memory in MB that can be used by any process in this organization." + }, + "defaultFleetId": { + "allOf": [ + { + "$ref": "#/components/schemas/FleetId" + } + ], + "nullable": true, + "description": "The default fleet ID for this organization." + }, + "isSingleTenant": { + "type": "boolean" + }, + "name": { + "$ref": "#/components/schemas/OrganizationName" + } + }, + "required": [ + "enabledFeatureFlags", + "maxRequestedMemoryMB", + "isSingleTenant" + ], + "type": "object" + }, + "UserRole": { + "type": "string", + "enum": [ + "admin", + "member", + "viewer" + ], + "x-speakeasy-unknown-values": "allow" + }, + "PendingOrgInvite": { + "properties": { + "scopes": { + "oneOf": [ + { + "$ref": "#/components/schemas/UserRole" + }, + { + "items": { + "$ref": "#/components/schemas/Scope" + }, + "type": "array" + } + ] + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "invitedBy": { + "$ref": "#/components/schemas/AttributionId" + }, + "userEmail": { + "$ref": "#/components/schemas/UserEmail" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + } + }, + "required": [ + "scopes", + "createdAt", + "invitedBy", + "userEmail", + "orgId" + ], + "type": "object" + }, + "PendingOrgInvitesPage": { + "properties": { + "invites": { + "items": { + "$ref": "#/components/schemas/PendingOrgInvite" + }, + "type": "array" + } + }, + "required": [ + "invites" + ], + "type": "object" + }, + "OrgMember": { + "properties": { + "scopes": { + "oneOf": [ + { + "$ref": "#/components/schemas/UserRole" + }, + { + "items": { + "$ref": "#/components/schemas/Scope" + }, + "type": "array" + } + ] + }, + "lastLogin": { + "type": "string", + "format": "date-time" + }, + "joinedAt": { + "type": "string", + "format": "date-time" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "invitedBy": { + "$ref": "#/components/schemas/AttributionId" + }, + "userEmail": { + "$ref": "#/components/schemas/UserEmail" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + } + }, + "required": [ + "scopes", + "joinedAt", + "createdAt", + "invitedBy", + "userEmail", + "orgId" + ], + "type": "object" + }, + "OrgMembersPage": { + "properties": { + "members": { + "items": { + "$ref": "#/components/schemas/OrgMember" + }, + "type": "array" + } + }, + "required": [ + "members" + ], + "type": "object" + }, + "CreateUserInvite": { + "properties": { + "scopes": { + "oneOf": [ + { + "$ref": "#/components/schemas/UserRole" + }, + { + "items": { + "$ref": "#/components/schemas/Scope" + }, + "type": "array" + } + ], + "description": "If not defined, the user has Admin access." + }, + "userEmail": { + "$ref": "#/components/schemas/UserEmail" + } + }, + "required": [ + "userEmail" + ], + "type": "object" + }, + "UpdateUserInvite": { + "properties": { + "scopes": { + "oneOf": [ + { + "$ref": "#/components/schemas/UserRole" + }, + { + "items": { + "$ref": "#/components/schemas/Scope" + }, + "type": "array" + } + ], + "description": "Scopes can only be removed or added if a user has those scopes." + }, + "userEmail": { + "$ref": "#/components/schemas/UserEmail" + } + }, + "required": [ + "scopes", + "userEmail" + ], + "type": "object" + }, + "RescindUserInvite": { + "properties": { + "userEmail": { + "$ref": "#/components/schemas/UserEmail" + } + }, + "required": [ + "userEmail" + ], + "type": "object" + }, + "UsageLimits": { + "properties": { + "monthlyProcessVcpuHoursConsumed": { + "type": "number", + "format": "double", + "description": "The number of vCPU hours used up by the organization in the current month." + }, + "monthlyProcessVcpuHoursLimit": { + "type": "number", + "format": "double", + "description": "The maximum number of monthly process vcpu hours that can be run by the organization\nIf undefined, the organization has no limit." + }, + "concurrentProcessVcpus7DayMax": { + "type": "number", + "format": "double", + "description": "The maximum number of concurrent processes that have been run by the organization in the last 7 days." + }, + "concurrentProcessVcpusLimit": { + "type": "number", + "format": "double", + "description": "The maximum number of concurrent processes that can be run by the organization\nIf undefined, the organization has no limit." + } + }, + "required": [ + "monthlyProcessVcpuHoursConsumed", + "concurrentProcessVcpus7DayMax" + ], + "type": "object" + }, + "NodeId": { + "type": "string" + }, + "NodeV1": { + "properties": { + "stoppedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "startedAt": { + "type": "string", + "format": "date-time" + }, + "gpu": { + "type": "number", + "format": "double", + "nullable": true + }, + "memoryMb": { + "type": "number", + "format": "double" + }, + "cpu": { + "type": "number", + "format": "double" + }, + "region": { + "$ref": "#/components/schemas/Region" + }, + "status": { + "type": "string", + "enum": [ + "running", + "draining", + "stopped" + ], + "x-speakeasy-unknown-values": "allow" + }, + "hosting": { + "$ref": "#/components/schemas/Hosting" + }, + "host": { + "type": "string" + }, + "nodeId": { + "$ref": "#/components/schemas/NodeId" + } + }, + "required": [ + "stoppedAt", + "startedAt", + "gpu", + "memoryMb", + "cpu", + "region", + "status", + "hosting", + "host", + "nodeId" + ], + "type": "object" + }, + "DeprecatedProcessMetricsData": { + "properties": { + "active_connections": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "total_egress": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "rate_egress": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "memory": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "cpu": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "DeprecatedProcessMetricName": { + "type": "string", + "enum": [ + "cpu", + "memory", + "rate_egress", + "total_egress", + "active_connections" + ], + "x-speakeasy-unknown-values": "allow" + }, + "VerificationEmailSuccess": { + "type": "string", + "enum": [ + "success" + ], + "nullable": false, + "x-speakeasy-unknown-values": "allow" + }, + "VerificationEmailRequest": { + "properties": { + "userId": { + "type": "string" + } + }, + "required": [ + "userId" + ], + "type": "object" + }, + "UserId": { + "type": "string", + "example": "auth0|646bdf96f7fb73d04c8c84db", + "description": "System generated unique identifier for a user. Not guaranteed to have a specific format." + }, + "SourceApp": { + "type": "string", + "enum": [ + "Console", + "Models" + ], + "x-speakeasy-unknown-values": "allow" + }, + "NewUserInfo": { + "properties": { + "source_app": { + "$ref": "#/components/schemas/SourceApp" + }, + "email": { + "$ref": "#/components/schemas/UserEmail" + }, + "user_id": { + "$ref": "#/components/schemas/UserId" + } + }, + "required": [ + "source_app", + "email", + "user_id" + ], + "type": "object" + }, + "LogsFollow": { + "type": "boolean", + "description": "Stream logs in realtime." + }, + "TailLines": { + "type": "integer", + "format": "int32", + "default": 100, + "example": 100, + "description": "Number of lines to return from most recent logs history.", + "minimum": 1, + "maximum": 5000 + }, + "LobbyVisibility": { + "type": "string", + "enum": [ + "private", + "public", + "local" + ], + "example": "private", + "description": "Types of lobbies a player can create.\n\n`private`: the player who created the room must share the roomId with their friends\n\n`public`: visible in the public lobby list, anyone can join\n\n`local`: for testing with a server running locally", + "x-speakeasy-unknown-values": "allow" + }, + "LobbyInitialConfig": { + "description": "User input to initialize the game state. Object must be smaller than 64KB." + }, + "ShortCode": { + "type": "string", + "example": "LFG4", + "description": "User-defined identifier for a lobby.", + "maxLength": 100 + }, + "Lobby": { + "properties": { + "shortCode": { + "allOf": [ + { + "$ref": "#/components/schemas/ShortCode" + } + ], + "nullable": true + }, + "state": { + "nullable": true, + "description": "JSON blob to store metadata for a room. Must be smaller than 1MB." + }, + "initialConfig": { + "$ref": "#/components/schemas/LobbyInitialConfig" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the lobby was created." + }, + "createdBy": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "format": "double" + } + ], + "description": "UserId or email address for the user that created the lobby.", + "example": "google-oauth2|107030234048588177467" + }, + "local": { + "type": "boolean", + "deprecated": true + }, + "visibility": { + "$ref": "#/components/schemas/LobbyVisibility" + }, + "region": { + "$ref": "#/components/schemas/Region" + }, + "roomId": { + "$ref": "#/components/schemas/RoomId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "shortCode", + "initialConfig", + "createdAt", + "createdBy", + "local", + "visibility", + "region", + "roomId", + "appId" + ], + "type": "object", + "description": "A lobby object allows you to store and manage metadata for your rooms." + }, + "CreateLobbyParams": { + "properties": { + "visibility": { + "$ref": "#/components/schemas/LobbyVisibility" + }, + "initialConfig": { + "$ref": "#/components/schemas/LobbyInitialConfig" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "visibility", + "initialConfig", + "region" + ], + "type": "object" + }, + "SetLobbyStateParams": { + "properties": { + "state": { + "description": "JSON blob to store metadata for a room. Must be smaller than 1MB." + } + }, + "required": [ + "state" + ], + "type": "object" + }, + "LobbyV3": { + "properties": { + "shortCode": { + "$ref": "#/components/schemas/ShortCode", + "description": "User defined identifier for a lobby, defaults to `roomId`" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the lobby was created." + }, + "createdBy": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "format": "double" + } + ], + "description": "UserId or email address for the user that created the lobby.", + "example": "google-oauth2|107030234048588177467" + }, + "roomConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/RoomConfig" + } + ], + "nullable": true + }, + "visibility": { + "$ref": "#/components/schemas/LobbyVisibility" + }, + "region": { + "$ref": "#/components/schemas/Region" + }, + "roomId": { + "$ref": "#/components/schemas/RoomId", + "description": "Hathora generated identifier for a room, unique for a given application (including stopped rooms)" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "shortCode", + "createdAt", + "createdBy", + "visibility", + "region", + "roomId", + "appId" + ], + "type": "object", + "description": "A lobby object allows you to store and manage metadata for your rooms." + }, + "CreateLobbyV3Params": { + "properties": { + "visibility": { + "$ref": "#/components/schemas/LobbyVisibility" + }, + "roomConfig": { + "$ref": "#/components/schemas/RoomConfig" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "visibility", + "region" + ], + "type": "object" + }, + "FleetName": { + "type": "string", + "example": "production", + "description": "Readable name for a fleet. Must be unique within an organization.", + "maxLength": 64, + "pattern": "^[a-z0-9-]+$" + }, + "AutoscalerConfig": { + "properties": { + "scaleUpThreshold": { + "type": "integer", + "format": "int32", + "description": "If vCPU utilization rate is above this threshold percentage, the autoscaler will scale up.\nIf set to 100 this disables preemptive autoscaling (i.e. nodes will only scale up when you\nrun out of capacity and request more resources).", + "minimum": 40, + "maximum": 100 + } + }, + "required": [ + "scaleUpThreshold" + ], + "type": "object" + }, + "NodeShape": { + "type": "string", + "enum": [ + "cpu-4-8", + "cpu-8-16", + "cpu-16-32", + "cpu-32-64", + "cpu-64-128", + "cpu-4-16", + "cpu-8-32", + "cpu-16-64", + "cpu-32-128", + "gpu-l4-1-4-16", + "gpu-l4-1-12-48", + "gpu-l4-2-24-96", + "gpu-l4-4-48-192", + "gpu-l4-8-96-384", + "gpu-h100-1-26-234", + "gpu-h100-2-52-468", + "gpu-h100-4-104-936", + "gpu-h100-8-208-1872", + "gpu-h100-1-28-180", + "gpu-h100-2-60-360", + "gpu-h100-4-124-720", + "gpu-h100-8-252-1440", + "gpu-h100-8-192-1800", + "gpu-h100-8-192-960", + "gpu-h100-1-16-200", + "gpu-h100-8-128-1600", + "gpu-h200-1-16-200", + "gpu-h200-8-128-1600" + ], + "x-speakeasy-unknown-values": "allow" + }, + "FleetErrorState": { + "properties": { + "lastErrorTimestamp": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastErrorMessage": { + "type": "string", + "nullable": true + }, + "lastErrorLogId": { + "type": "string", + "nullable": true + }, + "inError": { + "type": "boolean" + } + }, + "required": [ + "lastErrorTimestamp", + "lastErrorMessage", + "lastErrorLogId", + "inError" + ], + "type": "object" + }, + "Partial_Record_Region.FleetErrorState__": { + "properties": { + "Seattle": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Los_Angeles": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Washington_DC": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Chicago": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "London": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Frankfurt": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Mumbai": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Singapore": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Tokyo": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Sydney": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Sao_Paulo": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Dallas": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Johannesburg": { + "$ref": "#/components/schemas/FleetErrorState" + }, + "Dubai": { + "$ref": "#/components/schemas/FleetErrorState" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Fleet": { + "properties": { + "errorState": { + "$ref": "#/components/schemas/Partial_Record_Region.FleetErrorState__", + "description": "Error state per region. Set when a scaling error occurs." + }, + "nodeShape": { + "$ref": "#/components/schemas/NodeShape" + }, + "autoscalerConfig": { + "$ref": "#/components/schemas/AutoscalerConfig", + "description": "If not defined, the fleet has a default 85% scale up threshold." + }, + "name": { + "$ref": "#/components/schemas/FleetName" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + }, + "fleetId": { + "$ref": "#/components/schemas/FleetId" + } + }, + "required": [ + "nodeShape", + "name", + "orgId", + "fleetId" + ], + "type": "object", + "description": "A fleet is a collection of nodes across your regions that can scale up and down based on demand." + }, + "FleetsPage": { + "properties": { + "fleets": { + "items": { + "$ref": "#/components/schemas/Fleet" + }, + "type": "array" + } + }, + "required": [ + "fleets" + ], + "type": "object" + }, + "CreateFleet": { + "properties": { + "nodeShape": { + "$ref": "#/components/schemas/NodeShape" + }, + "autoscalerConfig": { + "$ref": "#/components/schemas/AutoscalerConfig" + }, + "name": { + "$ref": "#/components/schemas/FleetName" + } + }, + "required": [ + "nodeShape", + "autoscalerConfig", + "name" + ], + "type": "object" + }, + "UpdateFleet": { + "properties": { + "nodeShape": { + "$ref": "#/components/schemas/NodeShape" + }, + "autoscalerConfig": { + "$ref": "#/components/schemas/AutoscalerConfig" + }, + "name": { + "$ref": "#/components/schemas/FleetName" + } + }, + "required": [ + "autoscalerConfig" + ], + "type": "object" + }, + "FleetRegion": { + "properties": { + "cloudMinVcpusUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "nodeBaseline": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes that should be running." + }, + "cloudMinVcpus": { + "type": "integer", + "format": "int32", + "deprecated": true + }, + "scaleIncrementVcpus": { + "type": "integer", + "format": "int32", + "description": "This field is deprecated and may contain the value -1. For node increment values, refer to nodeShape on the Fleet.", + "deprecated": true + } + }, + "required": [ + "cloudMinVcpusUpdatedAt", + "nodeBaseline", + "cloudMinVcpus", + "scaleIncrementVcpus" + ], + "type": "object", + "description": "A fleet region is a region in which a fleet can be deployed.\nYou can update cloudMinVcpus once every five minutes. It must be a multiple of\nscaleIncrementVcpus" + }, + "FleetRegionConfig": { + "properties": { + "cloudMinVcpus": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "cloudMinVcpus" + ], + "type": "object" + }, + "FleetMetricsData": { + "properties": { + "systemOverhead": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "utilized": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "provisionedCloud": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "provisionedBareMetal": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "provisionedTotal": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "FleetMetricName": { + "type": "string", + "enum": [ + "provisionedTotal", + "provisionedBareMetal", + "provisionedCloud", + "utilized", + "systemOverhead" + ], + "description": "Represents the valid metric names available to measure/manage fleets in a given region", + "x-speakeasy-unknown-values": "allow" + }, + "NodeShapeId": { + "type": "string", + "enum": [ + "shape-amd64-4-8", + "shape-amd64-8-16", + "shape-amd64-16-32", + "shape-amd64-32-64", + "shape-amd64-64-128", + "shape-amd64-4-16", + "shape-amd64-8-32", + "shape-amd64-16-64", + "shape-amd64-32-128", + "shape-l4-1-4", + "shape-l4-1", + "shape-l4-2", + "shape-l4-4", + "shape-l4-8", + "shape-h100pcie-1", + "shape-h100pcie-2", + "shape-h100pcie-4", + "shape-h100pcie-8", + "shape-h100sxm5-1", + "shape-h100sxm5-8", + "shape-h200sxm5-1", + "shape-h200sxm5-8" + ], + "x-speakeasy-unknown-values": "allow" + }, + "NodeFamilyId": { + "type": "string", + "enum": [ + "family-amd64-1-2", + "family-amd64-1-4", + "family-l4-1-4", + "family-l4-1-12", + "family-h100pcie", + "family-h100sxm5", + "family-h200sxm5" + ], + "x-speakeasy-unknown-values": "allow" + }, + "NodeShapeV2": { + "properties": { + "minMemoryMB": { + "type": "number", + "format": "double", + "description": "The minimum MB of memory that will be in any node with this shape.\nNote: this number may change as new providers are added." + }, + "minCPU": { + "type": "number", + "format": "double", + "description": "The minimum number of CPUs that will be in any node with this shape.\nNote: this number may change as new providers are added." + }, + "minGPU": { + "type": "number", + "format": "double", + "description": "The minimum number of GPUs that will be in any node with this shape.\nNote: this number may change as new providers are added." + }, + "familyName": { + "type": "string", + "description": "A human readable name for this node's family." + }, + "familyId": { + "$ref": "#/components/schemas/NodeFamilyId", + "description": "A stable identifier for this node's family." + }, + "name": { + "type": "string", + "description": "A human readable name for this node shape." + }, + "nodeShapeId": { + "$ref": "#/components/schemas/NodeShapeId", + "description": "A stable identifier for this node shape." + } + }, + "required": [ + "minMemoryMB", + "minCPU", + "minGPU", + "familyName", + "familyId", + "name", + "nodeShapeId" + ], + "type": "object" + }, + "FleetV2": { + "properties": { + "nodeShapeId": { + "$ref": "#/components/schemas/NodeShapeId" + }, + "autoscalerConfig": { + "$ref": "#/components/schemas/AutoscalerConfig", + "description": "If not defined, the fleet has a default 85% scale up threshold." + }, + "name": { + "$ref": "#/components/schemas/FleetName" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + }, + "fleetId": { + "$ref": "#/components/schemas/FleetId" + } + }, + "required": [ + "nodeShapeId", + "name", + "orgId", + "fleetId" + ], + "type": "object", + "description": "A fleet is a collection of nodes across your regions that can scale up and down based on demand." + }, + "FleetsPageV2": { + "properties": { + "fleets": { + "items": { + "$ref": "#/components/schemas/FleetV2" + }, + "type": "array" + } + }, + "required": [ + "fleets" + ], + "type": "object" + }, + "CreateFleetV2": { + "properties": { + "nodeShapeId": { + "$ref": "#/components/schemas/NodeShapeId" + }, + "autoscalerConfig": { + "$ref": "#/components/schemas/AutoscalerConfig" + }, + "name": { + "$ref": "#/components/schemas/FleetName" + } + }, + "required": [ + "nodeShapeId", + "autoscalerConfig", + "name" + ], + "type": "object" + }, + "UpdateFleetV2": { + "properties": { + "nodeShapeId": { + "$ref": "#/components/schemas/NodeShapeId" + }, + "autoscalerConfig": { + "$ref": "#/components/schemas/AutoscalerConfig" + }, + "name": { + "$ref": "#/components/schemas/FleetName" + } + }, + "required": [ + "autoscalerConfig" + ], + "type": "object" + }, + "CloudConfig": { + "properties": { + "preferredCloudPlatforms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "nodeBaseline": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes that should be running." + } + }, + "required": [ + "nodeBaseline" + ], + "type": "object" + }, + "RegionOverrides": { + "properties": { + "gcpRegion": { + "type": "string" + } + }, + "required": [ + "gcpRegion" + ], + "type": "object" + }, + "RegionConfig": { + "properties": { + "cloudMinVcpus": { + "type": "number", + "format": "double", + "deprecated": true + }, + "overrides": { + "$ref": "#/components/schemas/RegionOverrides" + }, + "cloudConfig": { + "$ref": "#/components/schemas/CloudConfig" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "cloudMinVcpus", + "cloudConfig", + "region" + ], + "type": "object" + }, + "FleetConfigV2": { + "properties": { + "preferredCluster": { + "type": "string" + }, + "nodeShape": { + "$ref": "#/components/schemas/NodeShapeV2" + }, + "autoscalerConfig": { + "$ref": "#/components/schemas/AutoscalerConfig" + }, + "regionConfigs": { + "items": { + "$ref": "#/components/schemas/RegionConfig" + }, + "type": "array" + }, + "name": { + "$ref": "#/components/schemas/FleetName" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + }, + "fleetId": { + "$ref": "#/components/schemas/FleetId" + } + }, + "required": [ + "nodeShape", + "autoscalerConfig", + "regionConfigs", + "orgId", + "fleetId" + ], + "type": "object" + }, + "FleetConfigsPageV2": { + "properties": { + "fleetConfigs": { + "items": { + "$ref": "#/components/schemas/FleetConfigV2" + }, + "type": "array" + } + }, + "required": [ + "fleetConfigs" + ], + "type": "object" + }, + "ClusterData": { + "properties": { + "name": { + "type": "string" + }, + "region": { + "type": "string" + } + }, + "required": [ + "name", + "region" + ], + "type": "object" + }, + "ClusterConfigPage": { + "properties": { + "clusterConfigs": { + "items": { + "$ref": "#/components/schemas/ClusterData" + }, + "type": "array" + } + }, + "required": [ + "clusterConfigs" + ], + "type": "object" + }, + "FleetRegionConfigV2": { + "properties": { + "nodeBaseline": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes that should be running." + } + }, + "required": [ + "nodeBaseline" + ], + "type": "object" + }, + "FleetLogRegionScaling": { + "properties": { + "internalError": { + "type": "string" + }, + "error": { + "type": "string" + }, + "cancelledByScaleDown": { + "type": "boolean", + "description": "True if this scale-up event was cancelled by a subsequent scale-down." + }, + "enrolledNodes": { + "type": "number", + "format": "double", + "description": "Enrolled nodes are nodes that have completed enrollment." + }, + "acquiredNodes": { + "type": "number", + "format": "double", + "description": "Acquired nodes are nodes for which we have acquired hardware." + }, + "launchedNodes": { + "type": "number", + "format": "double", + "description": "Launched nodes are nodes with a request out to a provider." + }, + "targetNodes": { + "type": "number", + "format": "double", + "description": "The target number of nodes, as of the origin time of the scaling event." + }, + "currentNodes": { + "type": "number", + "format": "double", + "description": "The current number of nodes, as of the origin time of the scaling event." + }, + "platformName": { + "type": "string" + }, + "nodeShapeId": { + "$ref": "#/components/schemas/NodeShapeId" + }, + "eventId": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "fleet-region-log-scaling" + ], + "nullable": false, + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "enrolledNodes", + "acquiredNodes", + "launchedNodes", + "targetNodes", + "currentNodes", + "platformName", + "nodeShapeId", + "eventId", + "type" + ], + "type": "object" + }, + "FleetLogRegionEntry": { + "properties": { + "details": { + "$ref": "#/components/schemas/FleetLogRegionScaling" + }, + "region": { + "$ref": "#/components/schemas/Region" + }, + "type": { + "type": "string", + "enum": [ + "fleet-region-log" + ], + "nullable": false, + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "details", + "region", + "type" + ], + "type": "object" + }, + "FleetLog": { + "properties": { + "log": { + "$ref": "#/components/schemas/FleetLogRegionEntry" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "fleetId": { + "$ref": "#/components/schemas/FleetId" + }, + "logId": { + "type": "string" + } + }, + "required": [ + "log", + "timestamp", + "fleetId", + "logId" + ], + "type": "object" + }, + "FleetLogsPage": { + "properties": { + "logs": { + "items": { + "$ref": "#/components/schemas/FleetLog" + }, + "type": "array" + } + }, + "required": [ + "logs" + ], + "type": "object" + }, + "PingEndpoints": { + "items": { + "properties": { + "port": { + "type": "number", + "format": "double" + }, + "host": { + "type": "string" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "port", + "host", + "region" + ], + "type": "object" + }, + "type": "array", + "example": [ + { + "region": "Seattle", + "host": "ping.hathora.dev", + "port": 2000 + } + ] + }, + "BuildId": { + "type": "integer", + "format": "int32", + "example": 1, + "description": "System generated id for a build. Increments by 1." + }, + "ContainerPort": { + "properties": { + "transportType": { + "$ref": "#/components/schemas/TransportType" + }, + "port": { + "type": "integer", + "format": "int32", + "example": 8000, + "minimum": 1, + "maximum": 65535 + }, + "name": { + "type": "string", + "description": "Readable name for the port.", + "example": "default", + "minLength": 1, + "maxLength": 10, + "pattern": "^[a-z][a-z0-9-]*$" + } + }, + "required": [ + "transportType", + "port", + "name" + ], + "type": "object", + "description": "A container port object represents the transport configruations for how your server will listen." + }, + "PlanName": { + "type": "string", + "enum": [ + "tiny", + "small", + "medium", + "large" + ], + "example": "tiny", + "description": "A plan defines how much CPU and memory is required to run an instance of your game server.\n\n`tiny`: shared core, 1gb memory\n\n`small`: 1 core, 2gb memory\n\n`medium`: 2 core, 4gb memory\n\n`large`: 4 core, 8gb memory", + "x-speakeasy-unknown-values": "allow" + }, + "DeploymentV1": { + "properties": { + "idleTimeoutEnabled": { + "type": "boolean", + "description": "Option to shut down processes that have had no new connections or rooms\nfor five minutes.", + "default": true + }, + "env": { + "items": { + "properties": { + "value": { + "type": "string", + "example": "TRUE", + "maxLength": 5000 + }, + "name": { + "type": "string", + "example": "EULA", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$" + } + }, + "required": [ + "value", + "name" + ], + "type": "object" + }, + "type": "array", + "description": "The environment variable that our process will have access to at runtime.", + "maxItems": 100 + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "planName": { + "$ref": "#/components/schemas/PlanName", + "deprecated": true + }, + "additionalContainerPorts": { + "items": { + "$ref": "#/components/schemas/ContainerPort" + }, + "type": "array", + "description": "Additional ports your server listens on.", + "example": { + "transportType": "tcp", + "port": 4000, + "name": "debug" + } + }, + "defaultContainerPort": { + "$ref": "#/components/schemas/ContainerPort", + "description": "Describes the primary port your process listens on." + }, + "transportType": { + "type": "string", + "enum": [ + "tcp", + "udp", + "tls" + ], + "deprecated": true, + "x-speakeasy-unknown-values": "allow" + }, + "containerPort": { + "type": "number", + "format": "double", + "deprecated": true + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the deployment was created." + }, + "createdBy": { + "$ref": "#/components/schemas/AttributionId", + "description": "The email address or token id for the user that created the deployment.", + "example": "noreply@hathora.dev" + }, + "requestedMemoryMB": { + "type": "integer", + "format": "int32", + "description": "The amount of memory allocated to your process.", + "example": 1024, + "minimum": 1024, + "maximum": 8192 + }, + "requestedCPU": { + "type": "number", + "format": "double", + "description": "The number of cores allocated to your process.", + "example": 0.5, + "minimum": 0.5, + "maximum": 4 + }, + "deploymentId": { + "$ref": "#/components/schemas/DeploymentId" + }, + "buildId": { + "$ref": "#/components/schemas/BuildId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "env", + "roomsPerProcess", + "planName", + "additionalContainerPorts", + "defaultContainerPort", + "transportType", + "containerPort", + "createdAt", + "createdBy", + "requestedMemoryMB", + "requestedCPU", + "deploymentId", + "buildId", + "appId" + ], + "type": "object", + "description": "Deployment is a versioned configuration for a build that describes runtime behavior." + }, + "DeploymentConfig": { + "properties": { + "idleTimeoutEnabled": { + "type": "boolean", + "description": "Option to shut down processes that have had no new connections or rooms\nfor five minutes.", + "default": true + }, + "env": { + "items": { + "properties": { + "value": { + "type": "string", + "example": "TRUE", + "maxLength": 5000 + }, + "name": { + "type": "string", + "example": "EULA", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$" + } + }, + "required": [ + "value", + "name" + ], + "type": "object" + }, + "type": "array", + "description": "The environment variable that our process will have access to at runtime.", + "maxItems": 100 + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "planName": { + "$ref": "#/components/schemas/PlanName" + }, + "additionalContainerPorts": { + "items": { + "$ref": "#/components/schemas/ContainerPort" + }, + "type": "array", + "description": "Additional ports your server listens on." + }, + "transportType": { + "$ref": "#/components/schemas/TransportType" + }, + "containerPort": { + "type": "integer", + "format": "int32", + "description": "Default port the server listens on.", + "example": 4000, + "minimum": 1, + "maximum": 65535 + } + }, + "required": [ + "env", + "roomsPerProcess", + "planName", + "transportType", + "containerPort" + ], + "type": "object", + "description": "User specified deployment configuration for your application at runtime." + }, + "DeploymentV2": { + "properties": { + "idleTimeoutEnabled": { + "type": "boolean", + "description": "Option to shut down processes that have had no new connections or rooms\nfor five minutes." + }, + "env": { + "items": { + "properties": { + "value": { + "type": "string", + "example": "TRUE", + "maxLength": 5000 + }, + "name": { + "type": "string", + "example": "EULA", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$" + } + }, + "required": [ + "value", + "name" + ], + "type": "object" + }, + "type": "array", + "description": "The environment variable that our process will have access to at runtime.", + "maxItems": 100 + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "additionalContainerPorts": { + "items": { + "$ref": "#/components/schemas/ContainerPort" + }, + "type": "array", + "description": "Additional ports your server listens on.", + "example": { + "transportType": "tcp", + "port": 4000, + "name": "debug" + } + }, + "defaultContainerPort": { + "$ref": "#/components/schemas/ContainerPort", + "description": "Describes the primary port your process listens on." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the deployment was created." + }, + "createdBy": { + "$ref": "#/components/schemas/AttributionId", + "description": "The email address or token id for the user that created the deployment.", + "example": "noreply@hathora.dev" + }, + "requestedMemoryMB": { + "type": "number", + "format": "double", + "description": "The amount of memory allocated to your process.", + "example": 1024, + "minimum": 1024, + "maximum": 8192 + }, + "requestedCPU": { + "type": "number", + "format": "double", + "description": "The number of cores allocated to your process.", + "example": 0.5, + "minimum": 0.3, + "maximum": 4 + }, + "deploymentId": { + "$ref": "#/components/schemas/DeploymentId" + }, + "buildId": { + "$ref": "#/components/schemas/BuildId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "idleTimeoutEnabled", + "env", + "roomsPerProcess", + "additionalContainerPorts", + "defaultContainerPort", + "createdAt", + "createdBy", + "requestedMemoryMB", + "requestedCPU", + "deploymentId", + "buildId", + "appId" + ], + "type": "object" + }, + "DeploymentConfigV2": { + "properties": { + "idleTimeoutEnabled": { + "type": "boolean", + "description": "Option to shut down processes that have had no new connections or rooms\nfor five minutes." + }, + "env": { + "items": { + "properties": { + "value": { + "type": "string", + "example": "TRUE", + "maxLength": 5000 + }, + "name": { + "type": "string", + "example": "EULA", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$" + } + }, + "required": [ + "value", + "name" + ], + "type": "object" + }, + "type": "array", + "description": "The environment variable that our process will have access to at runtime.", + "maxItems": 100 + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "additionalContainerPorts": { + "items": { + "$ref": "#/components/schemas/ContainerPort" + }, + "type": "array", + "description": "Additional ports your server listens on." + }, + "transportType": { + "$ref": "#/components/schemas/TransportType" + }, + "containerPort": { + "type": "integer", + "format": "int32", + "description": "Default port the server listens on.", + "example": 4000, + "minimum": 1, + "maximum": 65535 + }, + "requestedMemoryMB": { + "type": "number", + "format": "double", + "description": "The amount of memory allocated to your process.", + "example": 1024, + "minimum": 1024, + "maximum": 8192 + }, + "requestedCPU": { + "type": "number", + "format": "double", + "description": "The number of cores allocated to your process.", + "example": 0.5, + "minimum": 0.3, + "maximum": 4 + } + }, + "required": [ + "idleTimeoutEnabled", + "env", + "roomsPerProcess", + "transportType", + "containerPort", + "requestedMemoryMB", + "requestedCPU" + ], + "type": "object" + }, + "GlobalBuildId": { + "type": "string", + "example": "bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5", + "description": "System generated id for a build. Can also be user defined when creating a build.", + "pattern": "^[a-z0-9]([a-z0-9-]{0,38}[a-z0-9])?$" + }, + "BuildTag": { + "type": "string", + "example": "0.1.14-14c793", + "description": "Tag to associate an external version with a build. It is accessible via [`GetBuild()`](https://hathora.dev/api#tag/BuildsV3/operation/GetBuild).", + "maxLength": 1000 + }, + "DeploymentTag": { + "type": "string", + "example": "alpha", + "description": "Arbitrary metadata associated with a deployment.", + "maxLength": 1000 + }, + "DeploymentV3": { + "properties": { + "fleetId": { + "$ref": "#/components/schemas/FleetId", + "description": "The fleet id this deployment will run on. If undefined, it will run on the account's default fleet." + }, + "deploymentTag": { + "$ref": "#/components/schemas/DeploymentTag" + }, + "idleTimeoutEnabled": { + "type": "boolean", + "description": "Option to shut down processes that have had no new connections or rooms\nfor five minutes." + }, + "env": { + "items": { + "properties": { + "value": { + "type": "string", + "example": "TRUE", + "maxLength": 5000 + }, + "name": { + "type": "string", + "example": "EULA", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$" + } + }, + "required": [ + "value", + "name" + ], + "type": "object" + }, + "type": "array", + "description": "The environment variable that our process will have access to at runtime.", + "maxItems": 100 + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "additionalContainerPorts": { + "items": { + "$ref": "#/components/schemas/ContainerPort" + }, + "type": "array", + "description": "Additional ports your server listens on.", + "example": { + "transportType": "tcp", + "port": 4000, + "name": "debug" + } + }, + "defaultContainerPort": { + "$ref": "#/components/schemas/ContainerPort", + "description": "Describes the primary port your process listens on." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the deployment was created." + }, + "createdBy": { + "$ref": "#/components/schemas/AttributionId", + "description": "The email address or token id for the user that created the deployment.", + "example": "noreply@hathora.dev" + }, + "requestedGPU": { + "type": "number", + "format": "double", + "description": "The number of GPUs allocated to your process. Must be an integer.\nIf not provided, the requested GPU is 0.", + "example": 1, + "minimum": 0, + "maximum": 100 + }, + "experimentalRequestedGPU": { + "type": "number", + "format": "double", + "description": "EXPERIMENTAL - this feature is in closed beta.\nThe number of GPUs allocated to your process. Must be an integer.\nIf not provided, the requested GPU is 0.", + "example": 1, + "minimum": 0, + "maximum": 100 + }, + "requestedMemoryMB": { + "type": "number", + "format": "double", + "description": "The amount of memory allocated to your process. By default, this is capped\nat 8192 MB, but can be increased further on the Enterprise tier.", + "example": 1024, + "minimum": 512 + }, + "requestedCPU": { + "type": "number", + "format": "double", + "description": "The number of cores allocated to your process.", + "example": 0.5, + "minimum": 0.25 + }, + "deploymentId": { + "$ref": "#/components/schemas/GlobalDeploymentId" + }, + "buildTag": { + "$ref": "#/components/schemas/BuildTag" + }, + "buildId": { + "$ref": "#/components/schemas/GlobalBuildId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "idleTimeoutEnabled", + "env", + "roomsPerProcess", + "additionalContainerPorts", + "defaultContainerPort", + "createdAt", + "createdBy", + "requestedMemoryMB", + "requestedCPU", + "deploymentId", + "buildId", + "appId" + ], + "type": "object" + }, + "DeploymentsV3Page": { + "properties": { + "nextPageToken": { + "type": "string" + }, + "deployments": { + "items": { + "$ref": "#/components/schemas/DeploymentV3" + }, + "type": "array" + } + }, + "required": [ + "deployments" + ], + "type": "object" + }, + "DeploymentConfigV3": { + "properties": { + "fleetId": { + "$ref": "#/components/schemas/FleetId", + "description": "The fleet id this deployment will run on. If undefined, it will run on the account's default fleet." + }, + "deploymentTag": { + "$ref": "#/components/schemas/DeploymentTag" + }, + "idleTimeoutEnabled": { + "type": "boolean", + "description": "Option to shut down processes that have had no new connections or rooms\nfor five minutes." + }, + "env": { + "items": { + "properties": { + "value": { + "type": "string", + "example": "TRUE", + "maxLength": 5000 + }, + "name": { + "type": "string", + "example": "EULA", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$" + } + }, + "required": [ + "value", + "name" + ], + "type": "object" + }, + "type": "array", + "description": "The environment variable that our process will have access to at runtime.", + "maxItems": 100 + }, + "roomsPerProcess": { + "$ref": "#/components/schemas/NumRoomsPerProcess" + }, + "additionalContainerPorts": { + "items": { + "$ref": "#/components/schemas/ContainerPort" + }, + "type": "array", + "description": "Additional ports your server listens on." + }, + "transportType": { + "$ref": "#/components/schemas/TransportType" + }, + "containerPort": { + "type": "integer", + "format": "int32", + "description": "Default port the server listens on.", + "example": 4000, + "minimum": 1, + "maximum": 65535 + }, + "requestedGPU": { + "type": "number", + "format": "double", + "description": "The number of GPUs allocated to your process. Must be an integer.\nIf not provided, the requested GPU is 0.", + "example": 1, + "minimum": 0, + "maximum": 100 + }, + "experimentalRequestedGPU": { + "type": "number", + "format": "double", + "description": "EXPERIMENTAL - this feature is in closed beta.\nThe number of GPUs allocated to your process. Must be an integer.\nIf not provided, the requested GPU is 0.", + "example": 1, + "minimum": 0, + "maximum": 100 + }, + "requestedMemoryMB": { + "type": "number", + "format": "double", + "description": "The amount of memory allocated to your process.", + "example": 1024, + "minimum": 512 + }, + "requestedCPU": { + "type": "number", + "format": "double", + "description": "The number of cores allocated to your process.", + "example": 0.5, + "minimum": 0.25 + }, + "buildId": { + "$ref": "#/components/schemas/GlobalBuildId" + } + }, + "required": [ + "idleTimeoutEnabled", + "env", + "roomsPerProcess", + "transportType", + "containerPort", + "requestedMemoryMB", + "requestedCPU", + "buildId" + ], + "type": "object" + }, + "BuildStatus": { + "type": "string", + "enum": [ + "created", + "running", + "succeeded", + "failed" + ], + "x-speakeasy-unknown-values": "allow" + }, + "Build": { + "properties": { + "expiredAt": { + "type": "string", + "format": "date-time", + "description": "When the build expired" + }, + "buildTag": { + "allOf": [ + { + "$ref": "#/components/schemas/BuildTag" + } + ], + "nullable": true + }, + "regionalContainerTags": { + "items": { + "properties": { + "containerTag": { + "type": "string" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "containerTag", + "region" + ], + "type": "object" + }, + "type": "array", + "deprecated": true + }, + "imageSize": { + "type": "integer", + "format": "int64", + "description": "The size (in bytes) of the Docker image built by Hathora." + }, + "status": { + "$ref": "#/components/schemas/BuildStatus", + "description": "Current status of your build.\n\n`created`: a build was created but not yet run\n\n`running`: the build process is actively executing\n\n`succeeded`: the game server artifact was successfully built and stored in the Hathora registries\n\n`failed`: the build process was unsuccessful, most likely due to an error with the `Dockerfile`" + }, + "deletedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the build was deleted." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When [`RunBuild()`](https://hathora.dev/api#tag/BuildV2/operation/RunBuild) finished executing." + }, + "startedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When [`RunBuild()`](https://hathora.dev/api#tag/BuildV2/operation/RunBuild) is called." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When [`CreateBuild()`](https://hathora.dev/api#tag/BuildV2/operation/CreateBuild) is called." + }, + "createdBy": { + "$ref": "#/components/schemas/AttributionId", + "description": "The email address or token id for the user that created the build.", + "example": "noreply@hathora.dev" + }, + "buildId": { + "$ref": "#/components/schemas/BuildId" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + } + }, + "required": [ + "regionalContainerTags", + "imageSize", + "status", + "deletedAt", + "finishedAt", + "startedAt", + "createdAt", + "createdBy", + "buildId", + "appId" + ], + "type": "object", + "description": "A build represents a game server artifact and its associated metadata." + }, + "CreateBuildParams": { + "properties": { + "buildTag": { + "$ref": "#/components/schemas/BuildTag" + } + }, + "type": "object" + }, + "BuildWithUploadUrl": { + "allOf": [ + { + "$ref": "#/components/schemas/Build" + }, + { + "properties": { + "uploadBodyParams": { + "items": { + "properties": { + "value": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "required": [ + "value", + "key" + ], + "type": "object" + }, + "type": "array" + }, + "uploadUrl": { + "type": "string" + } + }, + "required": [ + "uploadBodyParams", + "uploadUrl" + ], + "type": "object" + } + ] + }, + "BuildPart": { + "properties": { + "putRequestUrl": { + "type": "string" + }, + "partNumber": { + "type": "number", + "format": "double" + } + }, + "required": [ + "putRequestUrl", + "partNumber" + ], + "type": "object" + }, + "BuildWithMultipartUrls": { + "allOf": [ + { + "$ref": "#/components/schemas/Build" + }, + { + "properties": { + "completeUploadPostRequestUrl": { + "type": "string" + }, + "maxChunkSize": { + "type": "number", + "format": "double" + }, + "uploadParts": { + "items": { + "$ref": "#/components/schemas/BuildPart" + }, + "type": "array" + } + }, + "required": [ + "completeUploadPostRequestUrl", + "maxChunkSize", + "uploadParts" + ], + "type": "object" + } + ] + }, + "CreateBuildV3Params": { + "properties": { + "buildId": { + "$ref": "#/components/schemas/GlobalBuildId", + "description": "Optionally a value to replace the default buildId. This must be unique to the organization." + }, + "buildTag": { + "$ref": "#/components/schemas/BuildTag" + } + }, + "type": "object" + }, + "CreateMultipartBuildParams": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateBuildV3Params" + }, + { + "properties": { + "buildSizeInBytes": { + "type": "number", + "format": "double" + } + }, + "required": [ + "buildSizeInBytes" + ], + "type": "object" + } + ] + }, + "BuildV3": { + "properties": { + "expiredAt": { + "type": "string", + "format": "date-time", + "description": "When the build expired" + }, + "shareUrl": { + "type": "string", + "description": "Url to view details, like build logs, of the build." + }, + "contentHash": { + "type": "string" + }, + "buildTag": { + "$ref": "#/components/schemas/BuildTag" + }, + "imageSize": { + "type": "integer", + "format": "int64", + "description": "The size (in bytes) of the Docker image built by Hathora." + }, + "status": { + "$ref": "#/components/schemas/BuildStatus", + "description": "Current status of your build.\n\n`created`: a build was created but not yet run\n\n`running`: the build process is actively executing\n\n`succeeded`: the game server artifact was successfully built and stored in the Hathora registries\n\n`failed`: the build process was unsuccessful, most likely due to an error with the `Dockerfile`" + }, + "deletedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the build was deleted." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When [`RunBuild()`](https://hathora.dev/api#tag/BuildV2/operation/RunBuild) finished executing." + }, + "startedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When [`RunBuild()`](https://hathora.dev/api#tag/BuildV2/operation/RunBuild) is called." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When [`CreateBuild()`](https://hathora.dev/api#tag/BuildV2/operation/CreateBuild) is called." + }, + "createdBy": { + "$ref": "#/components/schemas/AttributionId", + "description": "The email address or token id for the user that created the build.", + "example": "noreply@hathora.dev" + }, + "buildId": { + "$ref": "#/components/schemas/GlobalBuildId" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + } + }, + "required": [ + "imageSize", + "status", + "deletedAt", + "finishedAt", + "startedAt", + "createdAt", + "createdBy", + "buildId", + "orgId" + ], + "type": "object", + "description": "A build represents a game server artifact and its associated metadata." + }, + "BuildsV3Page": { + "properties": { + "builds": { + "items": { + "$ref": "#/components/schemas/BuildV3" + }, + "type": "array" + } + }, + "required": [ + "builds" + ], + "type": "object" + }, + "CreatedBuildV3WithMultipartUrls": { + "allOf": [ + { + "$ref": "#/components/schemas/BuildV3" + }, + { + "properties": { + "completeUploadPostRequestUrl": { + "type": "string" + }, + "maxChunkSize": { + "type": "number", + "format": "double" + }, + "uploadParts": { + "items": { + "$ref": "#/components/schemas/BuildPart" + }, + "type": "array" + } + }, + "required": [ + "completeUploadPostRequestUrl", + "maxChunkSize", + "uploadParts" + ], + "type": "object" + } + ] + }, + "RegistryConfig": { + "properties": { + "auth": { + "type": "string" + }, + "registryUrl": { + "type": "string" + }, + "image": { + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "Record_string.never_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "DeletedBuild": { + "$ref": "#/components/schemas/Record_string.never_" + }, + "InvoiceItem": { + "properties": { + "discount": { + "type": "number", + "format": "double" + }, + "amount": { + "type": "number", + "format": "double" + }, + "unitPrice": { + "type": "number", + "format": "double" + }, + "quantity": { + "type": "number", + "format": "double" + }, + "unit": { + "type": "string" + }, + "productName": { + "type": "string" + } + }, + "required": [ + "amount", + "unitPrice", + "quantity", + "unit", + "productName" + ], + "type": "object" + }, + "InvoiceItemPage": { + "properties": { + "invoiceItems": { + "items": { + "$ref": "#/components/schemas/InvoiceItem" + }, + "type": "array" + } + }, + "required": [ + "invoiceItems" + ], + "type": "object" + }, + "CardBrand": { + "type": "string", + "enum": [ + "amex", + "cartes_bancaires", + "diners", + "discover", + "jcb", + "mastercard", + "visa", + "unionpay", + "card" + ], + "x-speakeasy-unknown-values": "allow" + }, + "CardPaymentMethod": { + "properties": { + "last4": { + "type": "string" + }, + "brand": { + "$ref": "#/components/schemas/CardBrand" + } + }, + "required": [ + "last4", + "brand" + ], + "type": "object" + }, + "AchPaymentMethod": { + "properties": { + "last4": { + "type": "string" + }, + "bankName": { + "type": "string" + } + }, + "type": "object" + }, + "LinkPaymentMethod": { + "properties": { + "email": { + "type": "string" + } + }, + "type": "object" + }, + "Partial__card-CardPaymentMethod--ach-AchPaymentMethod--link-LinkPaymentMethod__": { + "properties": { + "card": { + "$ref": "#/components/schemas/CardPaymentMethod" + }, + "ach": { + "$ref": "#/components/schemas/AchPaymentMethod" + }, + "link": { + "$ref": "#/components/schemas/LinkPaymentMethod" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "PaymentMethod": { + "$ref": "#/components/schemas/Partial__card-CardPaymentMethod--ach-AchPaymentMethod--link-LinkPaymentMethod__" + }, + "CustomerPortalUrl": { + "properties": { + "returnUrl": { + "type": "string" + } + }, + "required": [ + "returnUrl" + ], + "type": "object" + }, + "InvoiceStatus": { + "type": "string", + "enum": [ + "pending", + "paid", + "overdue" + ], + "x-speakeasy-unknown-values": "allow" + }, + "Invoice": { + "properties": { + "status": { + "$ref": "#/components/schemas/InvoiceStatus" + }, + "amountDue": { + "type": "number", + "format": "double" + }, + "pdfUrl": { + "type": "string" + }, + "dueDate": { + "type": "string", + "format": "date-time" + }, + "year": { + "type": "number", + "format": "double" + }, + "month": { + "type": "number", + "format": "double" + }, + "id": { + "type": "string" + } + }, + "required": [ + "status", + "amountDue", + "pdfUrl", + "dueDate", + "year", + "month", + "id" + ], + "type": "object" + }, + "PriceId": { + "type": "string" + }, + "Price": { + "properties": { + "isDefaultPaidPriceID": { + "type": "boolean" + }, + "priceNickname": { + "type": "string" + }, + "priceId": { + "$ref": "#/components/schemas/PriceId" + } + }, + "required": [ + "isDefaultPaidPriceID", + "priceId" + ], + "type": "object" + }, + "SubscriptionItem": { + "properties": { + "markedForDeletion": { + "type": "boolean" + }, + "isMetered": { + "type": "boolean" + }, + "quantity": { + "type": "number", + "format": "double" + }, + "prices": { + "items": { + "$ref": "#/components/schemas/Price" + }, + "type": "array" + }, + "priceId": { + "$ref": "#/components/schemas/PriceId" + }, + "productId": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "isMetered", + "prices", + "priceId", + "productId", + "name" + ], + "type": "object" + }, + "Subscription": { + "properties": { + "subscriptionItems": { + "items": { + "$ref": "#/components/schemas/SubscriptionItem" + }, + "type": "array" + }, + "stripeSubscriptionId": { + "type": "string" + }, + "stripeCustomerId": { + "type": "string" + } + }, + "required": [ + "subscriptionItems", + "stripeSubscriptionId", + "stripeCustomerId" + ], + "type": "object" + }, + "Product": { + "properties": { + "isMetered": { + "type": "boolean" + }, + "prices": { + "items": { + "$ref": "#/components/schemas/Price" + }, + "type": "array" + }, + "productId": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "isMetered", + "prices", + "productId", + "name" + ], + "type": "object" + }, + "ModelName": { + "type": "string", + "enum": [ + "qwen3-30b-a3b", + "kokoro-82m", + "parakeet-tdt-0.6b-v3", + "qwen3-omni", + "rime-arcana", + "chatterbox", + "chatterbox-turbo", + "chatterbox-multilingual", + "parakeet-realtime-eou-120m-v1" + ], + "x-speakeasy-unknown-values": "allow" + }, + "ModelBillingUnit": { + "type": "string", + "enum": [ + "input-token", + "output-token", + "input-second", + "input-chars" + ], + "x-speakeasy-unknown-values": "allow" + }, + "ModelUsage": { + "properties": { + "idempotencyKey": { + "type": "string", + "description": "A unique key to make sure this event is not accidentally charged twice." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Integer unit amount to report usage." + }, + "unit": { + "$ref": "#/components/schemas/ModelBillingUnit" + }, + "modelName": { + "$ref": "#/components/schemas/ModelName" + }, + "region": { + "$ref": "#/components/schemas/Region" + }, + "customerToken": { + "type": "string" + } + }, + "required": [ + "idempotencyKey", + "quantity", + "unit", + "modelName", + "region", + "customerToken" + ], + "type": "object" + }, + "PlayerTokenObject": { + "properties": { + "token": { + "type": "string", + "description": "A unique Hathora-signed JWT player token.", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXBlIjoiYW5vbnltb3VzIiwiaWQiOiJ3aDA4eWN3eTJwOSIsIm5hbWUiOiJqaXR0ZXJ5LXNhbG1vbi1ndWxsIiwiaWF0IjoxNjg5MzQ5MTk3fQ.-LzlPhZw2tw0ycZ229IRHwwmINGKWNPFMDrXOphLjEk" + } + }, + "required": [ + "token" + ], + "type": "object" + }, + "NicknameObject": { + "properties": { + "nickname": { + "type": "string", + "description": "An alias to represent a player.", + "example": "squiddytwoshoes" + } + }, + "required": [ + "nickname" + ], + "type": "object" + }, + "GoogleIdTokenObject": { + "properties": { + "idToken": { + "type": "string", + "description": "A Google-signed OIDC ID token representing a player's authenticated identity. Learn how to get an `idToken` [here](https://cloud.google.com/docs/authentication/get-id-token).", + "example": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImZkNDhhNzUxMzhkOWQ0OGYwYWE2MzVlZjU2OWM0ZTE5NmY3YWU4ZDYiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODQ4NDEyODI2Nzg4LW00bXNyYjZxNDRkbTJ1ZTNrZ3Z1aTBmcTdrZGE1NWxzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODQ4NDEyODI2Nzg4LW00bXNyYjZxNDRkbTJ1ZTNrZ3Z1aTBmcTdrZGE1NWxzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0NTQyMzMwNzI3MTU2MTMzNzc2IiwiZW1haWwiOiJocGFdkeivmeuzQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoidno1NGhhdTNxbnVR" + } + }, + "required": [ + "idToken" + ], + "type": "object" + }, + "AppName": { + "type": "string", + "example": "minecraft", + "description": "Readable name for an application. Must be unique within an organization.", + "maxLength": 64, + "pattern": "^[a-z0-9-]+$" + }, + "AppSecret": { + "type": "string", + "example": "secret-6f706e83-0ec1-437a-9a46-7d4281eb2f39", + "description": "Secret that is used for identity and access management." + }, + "AuthConfiguration": { + "properties": { + "google": { + "properties": { + "clientId": { + "type": "string", + "description": "A Google generated token representing the developer's credentials for [Google's API Console](https://console.cloud.google.com/apis/dashboard?pli=1&project=discourse-login-388921). Learn how to get a `clientId` [here](https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid)." + } + }, + "required": [ + "clientId" + ], + "type": "object", + "description": "Enable google auth for your application." + }, + "nickname": { + "$ref": "#/components/schemas/Record_string.never_", + "description": "Enable nickname auth for your application." + }, + "anonymous": { + "$ref": "#/components/schemas/Record_string.never_", + "description": "Enable anonymous auth for your application." + } + }, + "type": "object", + "description": "Configure [player authentication](https://hathora.dev/docs/backend-integrations/lobbies-and-matchmaking/auth-service) for your application. Use Hathora's built-in auth providers or use your own [custom authentication](https://hathora.dev/docs/lobbies-and-matchmaking/auth-service#custom-auth-provider)." + }, + "StaticProcessAllocationConfig": { + "properties": { + "autoscalingEnabled": { + "type": "boolean", + "description": "Whether autoscaling is enabled in this region. When enabled, `targetProcesses` is managed by the Process Autoscaler\nin accordance with the `processAutoscalerConfig` field set on the application's `serviceConfig`." + }, + "maxProcesses": { + "type": "integer", + "format": "int32", + "description": "The maximum number of running processes.\nInvariant: minProcesses <= maxProcesses", + "example": 3, + "minimum": 1, + "maximum": 51 + }, + "targetProcesses": { + "type": "integer", + "format": "int32", + "description": "The target number of running processes\nWhen autoscaling is enabled, this field is managed by the Process Autoscaler", + "example": 2, + "minimum": 0, + "maximum": 50 + }, + "minProcesses": { + "type": "integer", + "format": "int32", + "description": "The minimum number of running processes.\nInvariant: 0 <= minProcesses < targetProcesses", + "example": 1, + "minimum": 0, + "maximum": 50 + }, + "region": { + "$ref": "#/components/schemas/Region", + "description": "The region for which this config should apply to" + } + }, + "required": [ + "maxProcesses", + "targetProcesses", + "minProcesses", + "region" + ], + "type": "object" + }, + "LoadBalancerConfig": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether load balancing is enabled for this application." + } + }, + "required": [ + "enabled" + ], + "type": "object" + }, + "AutoscalerTargetMetric": { + "properties": { + "metricValue": { + "type": "number", + "format": "double" + }, + "metricName": { + "type": "string", + "enum": [ + "concurrent-requests" + ], + "nullable": false, + "description": "The name of the metric.\nAllowed values:\n`concurrent-requests`: Tracks the number of concurrent requests that a single Process handles.", + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "metricValue", + "metricName" + ], + "type": "object" + }, + "ProcessAutoscalerConfig": { + "properties": { + "targetMetric": { + "$ref": "#/components/schemas/AutoscalerTargetMetric", + "description": "The metric to track." + } + }, + "required": [ + "targetMetric" + ], + "type": "object", + "description": "The configuration for the Process Autoscaler for this application.\nAutoscaling must be enabled on a per-region basis.\nEXPERIMENTAL - This feature is in closed beta." + }, + "ServiceConfig": { + "properties": { + "processAutoscalerConfig": { + "$ref": "#/components/schemas/ProcessAutoscalerConfig" + }, + "loadBalancer": { + "$ref": "#/components/schemas/LoadBalancerConfig", + "description": "The load balancer configuration for this application." + }, + "staticProcessAllocation": { + "items": { + "$ref": "#/components/schemas/StaticProcessAllocationConfig" + }, + "type": "array", + "description": "The headroom configuration for each region." + } + }, + "required": [ + "staticProcessAllocation" + ], + "type": "object" + }, + "Application": { + "properties": { + "deletedBy": { + "allOf": [ + { + "$ref": "#/components/schemas/AttributionId" + } + ], + "nullable": true, + "description": "The email address or token id for the user that deleted the application.", + "example": "noreply@hathora.dev" + }, + "deletedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the application was deleted." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the application was created." + }, + "createdBy": { + "$ref": "#/components/schemas/AttributionId", + "description": "The email address or token id for the user that created the application.", + "example": "noreply@hathora.dev" + }, + "orgId": { + "$ref": "#/components/schemas/OrgId" + }, + "serviceConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceConfig" + } + ], + "nullable": true + }, + "authConfiguration": { + "$ref": "#/components/schemas/AuthConfiguration", + "description": "Used to authenticate player requests. Use your own authentication or Hathora's Auth Client." + }, + "appSecret": { + "$ref": "#/components/schemas/AppSecret" + }, + "appId": { + "$ref": "#/components/schemas/AppId" + }, + "appName": { + "$ref": "#/components/schemas/AppName" + } + }, + "required": [ + "deletedBy", + "deletedAt", + "createdAt", + "createdBy", + "orgId", + "serviceConfig", + "authConfiguration", + "appSecret", + "appId", + "appName" + ], + "type": "object", + "description": "An application object is the top level namespace for the game server." + }, + "ApplicationWithLatestDeploymentAndBuildDeprecated": { + "allOf": [ + { + "$ref": "#/components/schemas/Application" + }, + { + "properties": { + "deployment": { + "allOf": [ + { + "$ref": "#/components/schemas/DeploymentV2" + }, + { + "properties": { + "build": { + "$ref": "#/components/schemas/Build" + } + }, + "required": [ + "build" + ], + "type": "object" + } + ] + } + }, + "type": "object" + } + ] + }, + "CreateAppConfig": { + "properties": { + "loadBalancer": { + "$ref": "#/components/schemas/LoadBalancerConfig", + "description": "The load balancer configuration for this application." + }, + "authConfiguration": { + "$ref": "#/components/schemas/AuthConfiguration" + }, + "appName": { + "$ref": "#/components/schemas/AppName" + } + }, + "required": [ + "authConfiguration", + "appName" + ], + "type": "object" + }, + "ApplicationWithLatestDeploymentAndBuild": { + "allOf": [ + { + "$ref": "#/components/schemas/Application" + }, + { + "properties": { + "deployment": { + "allOf": [ + { + "$ref": "#/components/schemas/DeploymentV3" + }, + { + "properties": { + "build": { + "$ref": "#/components/schemas/BuildV3" + } + }, + "required": [ + "build" + ], + "type": "object" + } + ] + } + }, + "type": "object" + } + ] + }, + "ApplicationsPage": { + "properties": { + "applications": { + "items": { + "$ref": "#/components/schemas/ApplicationWithLatestDeploymentAndBuild" + }, + "type": "array" + } + }, + "required": [ + "applications" + ], + "type": "object" + }, + "StaticProcessAllocationConfigWrite": { + "properties": { + "autoscalingEnabled": { + "type": "boolean", + "description": "Whether autoscaling is enabled in this region. When enabled, `targetProcesses` is managed by the Process Autoscaler\nin accordance with the `processAutoscalerConfig` field set on the application's `serviceConfig`.\nThere MUST be a `processAutoscalerConfig` for the application in order to enable autoscaling.\nEXPERIMENTAL - this feature is in closed beta." + }, + "maxProcesses": { + "type": "integer", + "format": "int32", + "nullable": true, + "description": "The maximum number of running processes.\nWhen maxProcesses is null, will be set to a system-defined maximum value.", + "example": 3, + "minimum": 1, + "maximum": 51 + }, + "targetProcesses": { + "type": "integer", + "format": "int32", + "description": "The target number of running processes.\nWhen using process autoscaling, targetProcesses MUST NOT be set in this object.\ntargetProcesses will be managed by the ProcessAutoscaler", + "example": 2, + "minimum": 0, + "maximum": 51 + }, + "minProcesses": { + "type": "integer", + "format": "int32", + "description": "The minimum number of running processes.\nInvariant: 0 <= minProcesses < targetProcesses", + "example": 1, + "minimum": 0, + "maximum": 50 + }, + "region": { + "$ref": "#/components/schemas/Region", + "description": "The region for which this config should apply to" + } + }, + "required": [ + "maxProcesses", + "minProcesses", + "region" + ], + "type": "object" + }, + "ServiceConfigWrite": { + "properties": { + "processAutoscalerConfig": { + "$ref": "#/components/schemas/ProcessAutoscalerConfig" + }, + "loadBalancer": { + "$ref": "#/components/schemas/LoadBalancerConfig" + }, + "staticProcessAllocation": { + "items": { + "$ref": "#/components/schemas/StaticProcessAllocationConfigWrite" + }, + "type": "array" + } + }, + "required": [ + "staticProcessAllocation" + ], + "type": "object" + }, + "AppConfigWithServiceConfig": { + "properties": { + "serviceConfig": { + "$ref": "#/components/schemas/ServiceConfigWrite" + }, + "authConfiguration": { + "$ref": "#/components/schemas/AuthConfiguration" + }, + "appName": { + "$ref": "#/components/schemas/AppName" + } + }, + "required": [ + "authConfiguration", + "appName" + ], + "type": "object" + }, + "Partial_AppConfigWithServiceConfig_": { + "properties": { + "appName": { + "type": "string" + }, + "authConfiguration": { + "$ref": "#/components/schemas/AuthConfiguration" + }, + "serviceConfig": { + "$ref": "#/components/schemas/ServiceConfigWrite" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "NullableMetricValue": { + "properties": { + "value": { + "type": "number", + "format": "double", + "nullable": true + }, + "timestamp": { + "type": "number", + "format": "double" + } + }, + "required": [ + "timestamp" + ], + "type": "object" + }, + "AppMetricsData": { + "properties": { + "gpuMemory": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "gpuUtilization": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "p50RequestLatency": { + "items": { + "$ref": "#/components/schemas/NullableMetricValue" + }, + "type": "array" + }, + "requests": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "memory": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + }, + "cpu": { + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppMetricName": { + "type": "string", + "enum": [ + "cpu", + "memory", + "requests", + "p50RequestLatency", + "gpuUtilization", + "gpuMemory" + ], + "description": "Represents the valid metric names available at the application level", + "x-speakeasy-unknown-values": "allow" + } + }, + "securitySchemes": { + "hathoraDevToken": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "inboundRequestsAuth0": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "inboundRequestsNodeManager": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "inboundRequestsLoadBalancerManager": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "inboundRequestsModelMarketplaceService": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "playerAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + } + }, + "info": { + "title": "Hathora Cloud API", + "version": "0.0.1", + "description": "Welcome to the Hathora Cloud API documentation! Learn how to use the Hathora Cloud APIs to build and scale your game servers globally.", + "contact": {} + }, + "servers": [ + { + "url": "https://api.hathora.dev" + }, + { + "url": "/" + } + ], + "paths": { + "/tokens/v1/orgs/{orgId}": { + "get": { + "operationId": "GetOrgTokens", + "summary": "GetOrgTokens", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListOrgTokens" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "List all organization tokens for a given org.", + "tags": [ + "TokensV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetOrgTokens", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetOrgTokensRequest req = new GetOrgTokensRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n};\n\n\nusing(var res = await sdk.TokensV1.GetOrgTokensAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetOrgTokens", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.tokensV1.getOrgTokens(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetOrgTokens", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetOrgTokensResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetOrgTokensResponse res = sdk.tokensV1().getOrgTokens()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .call();\n\n if (res.listOrgTokens().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/tokens/v1/orgs/{orgId}/create": { + "post": { + "operationId": "CreateOrgToken", + "summary": "CreateOrgToken", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatedOrgToken" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new organization token.", + "tags": [ + "TokensV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateOrgToken" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateOrgToken", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateOrgTokenRequest req = new CreateOrgTokenRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n CreateOrgToken = new CreateOrgToken() {\n Name = \"ci-token\",\n },\n};\n\n\nusing(var res = await sdk.TokensV1.CreateOrgTokenAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateOrgToken", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.tokensV1.createOrgToken(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\", {\n name: \"ci-token\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateOrgToken", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateOrgTokenResponse;\nimport org.openapis.openapi.models.shared.CreateOrgToken;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateOrgTokenResponse res = sdk.tokensV1().createOrgToken()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .createOrgToken(CreateOrgToken.builder()\n .name(\"ci-token\")\n .build())\n .call();\n\n if (res.createdOrgToken().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/tokens/v1/orgs/{orgId}/tokens/{orgTokenId}/revoke": { + "post": { + "operationId": "RevokeOrgToken", + "summary": "RevokeOrgToken", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Revoke an organization token.", + "tags": [ + "TokensV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + }, + { + "in": "path", + "name": "orgTokenId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgTokenId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "RevokeOrgToken", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nRevokeOrgTokenRequest req = new RevokeOrgTokenRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n OrgTokenId = \"org-token-af469a92-5b45-4565-b3c4-b79878de67d2\",\n};\n\n\nusing(var res = await sdk.TokensV1.RevokeOrgTokenAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "RevokeOrgToken", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.tokensV1.revokeOrgToken(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\", \"org-token-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "RevokeOrgToken", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.RevokeOrgTokenResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n RevokeOrgTokenResponse res = sdk.tokensV1().revokeOrgToken()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .orgTokenId(\"org-token-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .call();\n\n if (res.boolean_().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/rooms/v1/{appId}/create": { + "post": { + "operationId": "CreateRoomDeprecated", + "summary": "CreateRoomDeprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "roomId", + "required": false, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateRoomParams" + } + } + } + }, + "x-speakeasy-group": "RoomsV1" + } + }, + "/rooms/v1/{appId}/info/{roomId}": { + "get": { + "operationId": "GetRoomInfoDeprecated", + "summary": "GetRoomInfoDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Room" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV1" + } + }, + "/rooms/v1/{appId}/list/{processId}/active": { + "get": { + "operationId": "GetActiveRoomsForProcessDeprecated", + "summary": "GetActiveRoomsForProcessDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/RoomWithoutAllocations" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ], + "x-speakeasy-group": "RoomsV1" + } + }, + "/rooms/v1/{appId}/list/{processId}/inactive": { + "get": { + "operationId": "GetInactiveRoomsForProcessDeprecated", + "summary": "GetInactiveRoomsForProcessDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/RoomWithoutAllocations" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ], + "x-speakeasy-group": "RoomsV1" + } + }, + "/rooms/v1/{appId}/destroy/{roomId}": { + "post": { + "operationId": "DestroyRoomDeprecated", + "summary": "DestroyRoomDeprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV1" + } + }, + "/rooms/v1/{appId}/suspend/{roomId}": { + "post": { + "operationId": "SuspendRoomDeprecated", + "summary": "SuspendRoomDeprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV1" + } + }, + "/rooms/v1/{appId}/connectioninfo/{roomId}": { + "get": { + "operationId": "GetConnectionInfoDeprecated", + "summary": "GetConnectionInfoDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConnectionInfo" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV1" + ], + "deprecated": true, + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV1" + } + }, + "/rooms/v2/{appId}/create": { + "post": { + "operationId": "CreateRoom", + "summary": "CreateRoom", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoomConnectionData" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new [room](https://hathora.dev/docs/concepts/hathora-entities#room) for an existing [application](https://hathora.dev/docs/concepts/hathora-entities#application). Poll the [`GetConnectionInfo()`](https://hathora.dev/api#tag/RoomV2/operation/GetConnectionInfo) endpoint to get connection details for an active room.", + "tags": [ + "RoomV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "roomId", + "required": false, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateRoomParams" + } + } + } + }, + "x-speakeasy-group": "RoomsV2", + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateRoom", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateRoomRequest req = new CreateRoomRequest() {\n RoomId = \"2swovpy1fnunu\",\n CreateRoomParams = new CreateRoomParams() {\n DeploymentId = \"dep-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n ClientIPs = new List() {\n \"123.123.123.123\",\n },\n RoomConfig = \"{\\\"name\\\":\\\"my-room\\\"}\",\n Region = Region.Dallas,\n },\n};\n\n\nusing(var res = await sdk.RoomsV2.CreateRoomAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateRoom", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.roomsV2.createRoom({\n deploymentId: \"dep-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n clientIPs: [\n \"123.123.123.123\",\n ],\n roomConfig: \"{\\\"name\\\":\\\"my-room\\\"}\",\n region: \"Dallas\",\n }, undefined, \"2swovpy1fnunu\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateRoom", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport java.util.List;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateRoomResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateRoomResponse res = sdk.roomsV2().createRoom()\n .roomId(\"2swovpy1fnunu\")\n .createRoomParams(CreateRoomParams.builder()\n .region(Region.DALLAS)\n .deploymentId(\"dep-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .clientIPs(List.of(\n \"123.123.123.123\"))\n .roomConfig(\"{\\\"name\\\":\\\"my-room\\\"}\")\n .build())\n .call();\n\n if (res.roomConnectionData().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/rooms/v2/{appId}/info/{roomId}": { + "get": { + "operationId": "GetRoomInfo", + "summary": "GetRoomInfo", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Room" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Retreive current and historical allocation data for a [room](https://hathora.dev/docs/concepts/hathora-entities#room).", + "tags": [ + "RoomV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV2", + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetRoomInfo", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetRoomInfoRequest req = new GetRoomInfoRequest() {\n RoomId = \"2swovpy1fnunu\",\n};\n\n\nusing(var res = await sdk.RoomsV2.GetRoomInfoAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetRoomInfo", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.roomsV2.getRoomInfo(\"2swovpy1fnunu\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetRoomInfo", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetRoomInfoResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetRoomInfoResponse res = sdk.roomsV2().getRoomInfo()\n .roomId(\"2swovpy1fnunu\")\n .call();\n\n if (res.room().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/rooms/v2/{appId}/list/{processId}/active": { + "get": { + "operationId": "GetActiveRoomsForProcess", + "summary": "GetActiveRoomsForProcess", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/RoomWithoutAllocations" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get all active [rooms](https://hathora.dev/docs/concepts/hathora-entities#room) for a given [process](https://hathora.dev/docs/concepts/hathora-entities#process).", + "tags": [ + "RoomV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ], + "x-speakeasy-group": "RoomsV2", + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetActiveRoomsForProcess", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetActiveRoomsForProcessRequest req = new GetActiveRoomsForProcessRequest() {\n ProcessId = \"cbfcddd2-0006-43ae-996c-995fff7bed2e\",\n};\n\n\nusing(var res = await sdk.RoomsV2.GetActiveRoomsForProcessAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetActiveRoomsForProcess", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.roomsV2.getActiveRoomsForProcess(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetActiveRoomsForProcess", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetActiveRoomsForProcessResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetActiveRoomsForProcessResponse res = sdk.roomsV2().getActiveRoomsForProcess()\n .processId(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\")\n .call();\n\n if (res.roomWithoutAllocations().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/rooms/v2/{appId}/list/{processId}/inactive": { + "get": { + "operationId": "GetInactiveRoomsForProcess", + "summary": "GetInactiveRoomsForProcess", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/RoomWithoutAllocations" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get all inactive [rooms](https://hathora.dev/docs/concepts/hathora-entities#room) for a given [process](https://hathora.dev/docs/concepts/hathora-entities#process).", + "tags": [ + "RoomV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ], + "x-speakeasy-group": "RoomsV2", + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetInactiveRoomsForProcess", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetInactiveRoomsForProcessRequest req = new GetInactiveRoomsForProcessRequest() {\n ProcessId = \"cbfcddd2-0006-43ae-996c-995fff7bed2e\",\n};\n\n\nusing(var res = await sdk.RoomsV2.GetInactiveRoomsForProcessAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetInactiveRoomsForProcess", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.roomsV2.getInactiveRoomsForProcess(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetInactiveRoomsForProcess", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetInactiveRoomsForProcessResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetInactiveRoomsForProcessResponse res = sdk.roomsV2().getInactiveRoomsForProcess()\n .processId(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\")\n .call();\n\n if (res.roomWithoutAllocations().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/rooms/v2/{appId}/destroy/{roomId}": { + "post": { + "operationId": "DestroyRoom", + "summary": "DestroyRoom", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Destroy a [room](https://hathora.dev/docs/concepts/hathora-entities#room). All associated metadata is deleted.", + "tags": [ + "RoomV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV2", + "x-codeSamples": [ + { + "lang": "unity", + "label": "DestroyRoom", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nDestroyRoomRequest req = new DestroyRoomRequest() {\n RoomId = \"2swovpy1fnunu\",\n};\n\n\nusing(var res = await sdk.RoomsV2.DestroyRoomAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "DestroyRoom", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.roomsV2.destroyRoom(\"2swovpy1fnunu\");\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "DestroyRoom", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.DestroyRoomResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n DestroyRoomResponse res = sdk.roomsV2().destroyRoom()\n .roomId(\"2swovpy1fnunu\")\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/rooms/v2/{appId}/suspend/{roomId}": { + "post": { + "operationId": "SuspendRoomV2Deprecated", + "summary": "SuspendRoomV2Deprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Suspend a [room](https://hathora.dev/docs/concepts/hathora-entities#room). The room is unallocated from the process but can be rescheduled later using the same `roomId`.", + "tags": [ + "RoomV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV2" + } + }, + "/rooms/v2/{appId}/connectioninfo/{roomId}": { + "get": { + "operationId": "GetConnectionInfo", + "summary": "GetConnectionInfo", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConnectionInfoV2" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Poll this endpoint to get connection details to a [room](https://hathora.dev/docs/concepts/hathora-entities#room). Clients can call this endpoint without authentication.", + "tags": [ + "RoomV2" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV2", + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetConnectionInfo", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\nGetConnectionInfoRequest req = new GetConnectionInfoRequest() {\n RoomId = \"2swovpy1fnunu\",\n};\n\n\nusing(var res = await sdk.RoomsV2.GetConnectionInfoAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetConnectionInfo", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n});\n\nasync function run() {\n const result = await hathoraCloud.roomsV2.getConnectionInfo(\"2swovpy1fnunu\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetConnectionInfo", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetConnectionInfoResponse;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .build();\n\n GetConnectionInfoResponse res = sdk.roomsV2().getConnectionInfo()\n .roomId(\"2swovpy1fnunu\")\n .call();\n\n if (res.connectionInfoV2().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/rooms/v2/{appId}/update/{roomId}": { + "post": { + "operationId": "UpdateRoomConfig", + "summary": "UpdateRoomConfig", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateRoomConfigParams" + } + } + } + }, + "x-speakeasy-group": "RoomsV2", + "x-codeSamples": [ + { + "lang": "unity", + "label": "UpdateRoomConfig", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nUpdateRoomConfigRequest req = new UpdateRoomConfigRequest() {\n RoomId = \"2swovpy1fnunu\",\n UpdateRoomConfigParams = new UpdateRoomConfigParams() {\n RoomConfig = \"{\\\"name\\\":\\\"my-room\\\"}\",\n },\n};\n\n\nusing(var res = await sdk.RoomsV2.UpdateRoomConfigAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "UpdateRoomConfig", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.roomsV2.updateRoomConfig(\"2swovpy1fnunu\", {\n roomConfig: \"{\\\"name\\\":\\\"my-room\\\"}\",\n });\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "UpdateRoomConfig", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.UpdateRoomConfigResponse;\nimport org.openapis.openapi.models.shared.Security;\nimport org.openapis.openapi.models.shared.UpdateRoomConfigParams;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n UpdateRoomConfigResponse res = sdk.roomsV2().updateRoomConfig()\n .roomId(\"2swovpy1fnunu\")\n .updateRoomConfigParams(UpdateRoomConfigParams.builder()\n .roomConfig(\"{\\\"name\\\":\\\"my-room\\\"}\")\n .build())\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/rooms/v2/{appId}/resume/{roomId}": { + "post": { + "operationId": "ResumeRoom", + "summary": "ResumeRoom", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoomAllocationData" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "RoomV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "RoomsV2", + "x-codeSamples": [ + { + "lang": "unity", + "label": "ResumeRoom", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nResumeRoomRequest req = new ResumeRoomRequest() {\n RoomId = \"2swovpy1fnunu\",\n};\n\n\nusing(var res = await sdk.RoomsV2.ResumeRoomAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "ResumeRoom", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.roomsV2.resumeRoom(\"2swovpy1fnunu\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "ResumeRoom", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.ResumeRoomResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n ResumeRoomResponse res = sdk.roomsV2().resumeRoom()\n .roomId(\"2swovpy1fnunu\")\n .call();\n\n if (res.roomAllocationData().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/processes/v1/{appId}/list/running": { + "get": { + "operationId": "GetRunningProcesses", + "summary": "GetRunningProcesses", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/ProcessWithRooms" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Retrieve 10 most recently started [process](https://hathora.dev/docs/concepts/hathora-entities#process) objects for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). Filter the array by optionally passing in a `region`.", + "tags": [ + "ProcessesV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "$ref": "#/components/schemas/Region" + } + } + ] + } + }, + "/processes/v1/{appId}/list/stopped": { + "get": { + "operationId": "GetStoppedProcesses", + "summary": "GetStoppedProcesses", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Process" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Retrieve 10 most recently stopped [process](https://hathora.dev/docs/concepts/hathora-entities#process) objects for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). Filter the array by optionally passing in a `region`.", + "tags": [ + "ProcessesV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "$ref": "#/components/schemas/Region" + } + } + ] + } + }, + "/processes/v1/{appId}/info/{processId}": { + "get": { + "operationId": "GetProcessInfoDeprecated", + "summary": "GetProcessInfoDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Process" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [process](https://hathora.dev/docs/concepts/hathora-entities#process).", + "tags": [ + "ProcessesV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ] + } + }, + "/processes/v2/{appId}/info/{processId}": { + "get": { + "operationId": "GetProcessInfoV2Deprecated", + "summary": "GetProcessInfoV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessV2" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [process](https://hathora.dev/docs/concepts/hathora-entities#process).", + "tags": [ + "ProcessesV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ] + } + }, + "/processes/v2/{appId}/list/latest": { + "get": { + "operationId": "GetLatestProcessesV2Deprecated", + "summary": "GetLatestProcessesV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/ProcessV2" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Retrieve the 10 most recent [processes](https://hathora.dev/docs/concepts/hathora-entities#process) objects for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). Filter the array by optionally passing in a `status` or `region`.", + "tags": [ + "ProcessesV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "status", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessStatus" + } + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Region" + } + } + } + ] + } + }, + "/processes/v2/{appId}/count": { + "get": { + "operationId": "GetProcessesCountExperimentalV2Deprecated", + "summary": "GetProcessesCountExperimentalV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "properties": { + "count": { + "type": "number", + "format": "double" + } + }, + "required": [ + "count" + ], + "type": "object" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Count the number of [processes](https://hathora.dev/docs/concepts/hathora-entities#process) objects for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). Filter by optionally passing in a `status` or `region`.", + "tags": [ + "ProcessesV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "status", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessStatus" + } + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Region" + } + } + } + ] + } + }, + "/processes/v2/{appId}/stop/{processId}": { + "post": { + "operationId": "StopProcessV2Deprecated", + "summary": "StopProcessV2Deprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Stops a [process](https://hathora.dev/docs/concepts/hathora-entities#process) immediately.", + "tags": [ + "ProcessesV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ] + } + }, + "/processes/v2/{appId}/create/{region}": { + "post": { + "operationId": "CreateProcessV2Deprecated", + "summary": "CreateProcessV2Deprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessV2" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Creates a [process](https://hathora.dev/docs/concepts/hathora-entities#process) without a room. Use this to pre-allocate processes ahead of time so that subsequent room assignment via [CreateRoom()](https://hathora.dev/api#tag/RoomV2/operation/CreateRoom) can be instant.", + "tags": [ + "ProcessesV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + } + ] + } + }, + "/processes/v3/apps/{appId}/processes/latest": { + "get": { + "operationId": "GetLatestProcesses", + "summary": "GetLatestProcesses", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/ProcessV3" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Retrieve the 10 most recent [processes](https://hathora.dev/docs/concepts/hathora-entities#process) objects for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). Filter the array by optionally passing in a `status` or `region`.", + "tags": [ + "ProcessesV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "status", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessStatus" + } + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Region" + } + } + }, + { + "in": "query", + "name": "before", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetLatestProcesses", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetLatestProcessesRequest req = new GetLatestProcessesRequest() {};\n\n\nusing(var res = await sdk.ProcessesV3.GetLatestProcessesAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetLatestProcesses", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.processesV3.getLatestProcesses();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetLatestProcesses", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetLatestProcessesRequest;\nimport org.openapis.openapi.models.operations.GetLatestProcessesResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetLatestProcessesRequest req = GetLatestProcessesRequest.builder()\n .build();\n\n GetLatestProcessesResponse res = sdk.processesV3().getLatestProcesses()\n .request(req)\n .call();\n\n if (res.processV3s().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/processes/v3/apps/{appId}/processes/count": { + "get": { + "operationId": "GetProcessesCountExperimental", + "summary": "GetProcessesCountExperimental", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "properties": { + "count": { + "type": "number", + "format": "double" + } + }, + "required": [ + "count" + ], + "type": "object" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Count the number of [processes](https://hathora.dev/docs/concepts/hathora-entities#process) objects for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). Filter by optionally passing in a `status` or `region`.", + "tags": [ + "ProcessesV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "status", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessStatus" + } + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Region" + } + } + }, + { + "in": "query", + "name": "before", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetProcessesCountExperimental", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetProcessesCountExperimentalRequest req = new GetProcessesCountExperimentalRequest() {};\n\n\nusing(var res = await sdk.ProcessesV3.GetProcessesCountExperimentalAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetProcessesCountExperimental", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.processesV3.getProcessesCountExperimental();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetProcessesCountExperimental", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetProcessesCountExperimentalRequest;\nimport org.openapis.openapi.models.operations.GetProcessesCountExperimentalResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetProcessesCountExperimentalRequest req = GetProcessesCountExperimentalRequest.builder()\n .build();\n\n GetProcessesCountExperimentalResponse res = sdk.processesV3().getProcessesCountExperimental()\n .request(req)\n .call();\n\n if (res.object().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/processes/v3/apps/{appId}/processes/regions/{region}": { + "post": { + "operationId": "CreateProcess", + "summary": "CreateProcess", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessV3" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Creates a [process](https://hathora.dev/docs/concepts/hathora-entities#process) without a room. Use this to pre-allocate processes ahead of time so that subsequent room assignment via [CreateRoom()](https://hathora.dev/api#tag/RoomV2/operation/CreateRoom) can be instant.", + "tags": [ + "ProcessesV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateProcess", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateProcessRequest req = new CreateProcessRequest() {\n Region = Region.Mumbai,\n};\n\n\nusing(var res = await sdk.ProcessesV3.CreateProcessAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateProcess", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.processesV3.createProcess(\"Mumbai\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateProcess", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateProcessResponse;\nimport org.openapis.openapi.models.shared.Region;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateProcessResponse res = sdk.processesV3().createProcess()\n .region(Region.MUMBAI)\n .call();\n\n if (res.processV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/processes/v3/apps/{appId}/processes/{processId}": { + "get": { + "operationId": "GetProcess", + "summary": "GetProcess", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessV3" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [process](https://hathora.dev/docs/concepts/hathora-entities#process).", + "tags": [ + "ProcessesV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetProcess", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetProcessRequest req = new GetProcessRequest() {\n ProcessId = \"cbfcddd2-0006-43ae-996c-995fff7bed2e\",\n};\n\n\nusing(var res = await sdk.ProcessesV3.GetProcessAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetProcess", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.processesV3.getProcess(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetProcess", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetProcessResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetProcessResponse res = sdk.processesV3().getProcess()\n .processId(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\")\n .call();\n\n if (res.processV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/processes/v3/apps/{appId}/processes/{processId}/stop": { + "post": { + "operationId": "StopProcess", + "summary": "StopProcess", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Stops a [process](https://hathora.dev/docs/concepts/hathora-entities#process) immediately.", + "tags": [ + "ProcessesV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "StopProcess", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nStopProcessRequest req = new StopProcessRequest() {\n ProcessId = \"cbfcddd2-0006-43ae-996c-995fff7bed2e\",\n};\n\n\nusing(var res = await sdk.ProcessesV3.StopProcessAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "StopProcess", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.processesV3.stopProcess(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\");\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "StopProcess", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.StopProcessResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n StopProcessResponse res = sdk.processesV3().stopProcess()\n .processId(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\")\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/processes/v3/apps/{appId}/processes/process/{processId}/metrics": { + "get": { + "operationId": "GetProcessMetrics", + "summary": "GetProcessMetrics", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessMetricsData" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "ProcessesV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + }, + { + "description": "Available metrics to query over time.", + "in": "query", + "name": "metrics", + "required": false, + "schema": { + "default": [ + "cpu", + "memory", + "rateEgress" + ], + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessMetricName" + } + } + }, + { + "description": "Unix timestamp. Default is current time.", + "in": "query", + "name": "end", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Unix timestamp. Default is -1 hour from `end`.", + "in": "query", + "name": "start", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "step", + "required": false, + "schema": { + "$ref": "#/components/schemas/MetricsStep" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetProcessMetrics", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetProcessMetricsRequest req = new GetProcessMetricsRequest() {\n ProcessId = \"cbfcddd2-0006-43ae-996c-995fff7bed2e\",\n};\n\n\nusing(var res = await sdk.ProcessesV3.GetProcessMetricsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetProcessMetrics", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.processesV3.getProcessMetrics({\n processId: \"cbfcddd2-0006-43ae-996c-995fff7bed2e\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetProcessMetrics", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetProcessMetricsRequest;\nimport org.openapis.openapi.models.operations.GetProcessMetricsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetProcessMetricsRequest req = GetProcessMetricsRequest.builder()\n .processId(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\")\n .build();\n\n GetProcessMetricsResponse res = sdk.processesV3().getProcessMetrics()\n .request(req)\n .call();\n\n if (res.processMetricsData().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/orgs/v1": { + "get": { + "operationId": "GetOrgs", + "summary": "GetOrgs", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrgsPage" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an unsorted list of all organizations that you are a member of (an accepted membership invite). An organization is uniquely identified by an `orgId`.", + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetOrgs", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\n\nusing(var res = await sdk.OrganizationsV1.GetOrgsAsync())\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetOrgs", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.organizationsV1.getOrgs();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetOrgs", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetOrgsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetOrgsResponse res = sdk.organizationsV1().getOrgs()\n .call();\n\n if (res.orgsPage().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/orgs/v1/user/invites/pending": { + "get": { + "operationId": "GetUserPendingInvites", + "summary": "GetUserPendingInvites", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PendingOrgInvitesPage" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetUserPendingInvites", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\n\nusing(var res = await sdk.OrganizationsV1.GetUserPendingInvitesAsync())\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetUserPendingInvites", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.organizationsV1.getUserPendingInvites();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetUserPendingInvites", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetUserPendingInvitesResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetUserPendingInvitesResponse res = sdk.organizationsV1().getUserPendingInvites()\n .call();\n\n if (res.pendingOrgInvitesPage().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/orgs/v1/{orgId}/members": { + "get": { + "operationId": "GetOrgMembers", + "summary": "GetOrgMembers", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrgMembersPage" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetOrgMembers", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetOrgMembersRequest req = new GetOrgMembersRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n};\n\n\nusing(var res = await sdk.OrganizationsV1.GetOrgMembersAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetOrgMembers", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.organizationsV1.getOrgMembers(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetOrgMembers", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetOrgMembersResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetOrgMembersResponse res = sdk.organizationsV1().getOrgMembers()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .call();\n\n if (res.orgMembersPage().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/orgs/v1/{orgId}/invites": { + "put": { + "operationId": "InviteUser", + "summary": "InviteUser", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PendingOrgInvite" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateUserInvite" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "InviteUser", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nInviteUserRequest req = new InviteUserRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n CreateUserInvite = new CreateUserInvite() {\n UserEmail = \"noreply@hathora.dev\",\n },\n};\n\n\nusing(var res = await sdk.OrganizationsV1.InviteUserAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "InviteUser", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.organizationsV1.inviteUser(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\", {\n userEmail: \"noreply@hathora.dev\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "InviteUser", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.InviteUserResponse;\nimport org.openapis.openapi.models.shared.CreateUserInvite;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n InviteUserResponse res = sdk.organizationsV1().inviteUser()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .createUserInvite(CreateUserInvite.builder()\n .userEmail(\"noreply@hathora.dev\")\n .build())\n .call();\n\n if (res.pendingOrgInvite().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "post": { + "operationId": "UpdateUserInvite", + "summary": "UpdateUserInvite", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateUserInvite" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "UpdateUserInvite", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nUpdateUserInviteRequest req = new UpdateUserInviteRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n UpdateUserInvite = new UpdateUserInvite() {\n Scopes = UpdateUserInviteScopes.CreateUserRole(\n UserRole.Viewer,\n ),\n UserEmail = \"noreply@hathora.dev\",\n },\n};\n\n\nusing(var res = await sdk.OrganizationsV1.UpdateUserInviteAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "UpdateUserInvite", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.organizationsV1.updateUserInvite(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\", {\n scopes: \"viewer\",\n userEmail: \"noreply@hathora.dev\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "UpdateUserInvite", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.UpdateUserInviteResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n UpdateUserInviteResponse res = sdk.organizationsV1().updateUserInvite()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .updateUserInvite(UpdateUserInvite.builder()\n .scopes(UpdateUserInviteScopes.of(UserRole.VIEWER))\n .userEmail(\"noreply@hathora.dev\")\n .build())\n .call();\n\n if (res.boolean_().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/orgs/v1/{orgId}/invites/rescind": { + "post": { + "operationId": "RescindInvite", + "summary": "RescindInvite", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescindUserInvite" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "RescindInvite", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nRescindInviteRequest req = new RescindInviteRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n RescindUserInvite = new RescindUserInvite() {\n UserEmail = \"noreply@hathora.dev\",\n },\n};\n\n\nusing(var res = await sdk.OrganizationsV1.RescindInviteAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "RescindInvite", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.organizationsV1.rescindInvite(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\", {\n userEmail: \"noreply@hathora.dev\",\n });\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "RescindInvite", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.RescindInviteResponse;\nimport org.openapis.openapi.models.shared.RescindUserInvite;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n RescindInviteResponse res = sdk.organizationsV1().rescindInvite()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .rescindUserInvite(RescindUserInvite.builder()\n .userEmail(\"noreply@hathora.dev\")\n .build())\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/orgs/v1/{orgId}/invites/pending": { + "get": { + "operationId": "GetOrgPendingInvites", + "summary": "GetOrgPendingInvites", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PendingOrgInvitesPage" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetOrgPendingInvites", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetOrgPendingInvitesRequest req = new GetOrgPendingInvitesRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n};\n\n\nusing(var res = await sdk.OrganizationsV1.GetOrgPendingInvitesAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetOrgPendingInvites", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.organizationsV1.getOrgPendingInvites(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetOrgPendingInvites", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetOrgPendingInvitesResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetOrgPendingInvitesResponse res = sdk.organizationsV1().getOrgPendingInvites()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .call();\n\n if (res.pendingOrgInvitesPage().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/orgs/v1/{orgId}/invites/accept": { + "post": { + "operationId": "AcceptInvite", + "summary": "AcceptInvite", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "AcceptInvite", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nAcceptInviteRequest req = new AcceptInviteRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n};\n\n\nusing(var res = await sdk.OrganizationsV1.AcceptInviteAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "AcceptInvite", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.organizationsV1.acceptInvite(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\");\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "AcceptInvite", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.AcceptInviteResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n AcceptInviteResponse res = sdk.organizationsV1().acceptInvite()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/orgs/v1/{orgId}/invites/reject": { + "post": { + "operationId": "RejectInvite", + "summary": "RejectInvite", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "orgId", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "RejectInvite", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nRejectInviteRequest req = new RejectInviteRequest() {\n OrgId = \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n};\n\n\nusing(var res = await sdk.OrganizationsV1.RejectInviteAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "RejectInvite", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.organizationsV1.rejectInvite(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\");\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "RejectInvite", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.RejectInviteResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n RejectInviteResponse res = sdk.organizationsV1().rejectInvite()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/orgs/v1/metadata/usageLimits": { + "get": { + "operationId": "GetUsageLimits", + "summary": "GetUsageLimits", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UsageLimits" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "OrganizationsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetUsageLimits", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetUsageLimitsRequest req = new GetUsageLimitsRequest() {};\n\n\nusing(var res = await sdk.OrganizationsV1.GetUsageLimitsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetUsageLimits", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.organizationsV1.getUsageLimits();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetUsageLimits", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetUsageLimitsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetUsageLimitsResponse res = sdk.organizationsV1().getUsageLimits()\n .call();\n\n if (res.usageLimits().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/nodes/v1/{nodeId}": { + "get": { + "operationId": "GetNode", + "summary": "GetNode", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NodeV1" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns information about the node identified by `appId`.", + "tags": [ + "NodesV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "nodeId", + "required": true, + "schema": { + "$ref": "#/components/schemas/NodeId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetNode", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetNodeRequest req = new GetNodeRequest() {\n NodeId = \"\",\n};\n\n\nusing(var res = await sdk.NodesV1.GetNodeAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetNode", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.nodesV1.getNode(\"\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetNode", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetNodeResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetNodeResponse res = sdk.nodesV1().getNode()\n .nodeId(\"\")\n .call();\n\n if (res.nodeV1().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/nodes/v1/fleet/{fleetId}/listProvisioned": { + "get": { + "operationId": "ListProvisionedNodes", + "summary": "ListProvisionedNodes", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/NodeV1" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "List nodes that are running or draining. Filter the array by optionally passing in a `region`.", + "tags": [ + "NodesV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "$ref": "#/components/schemas/Region" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "ListProvisionedNodes", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nListProvisionedNodesRequest req = new ListProvisionedNodesRequest() {\n FleetId = \"\",\n};\n\n\nusing(var res = await sdk.NodesV1.ListProvisionedNodesAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "ListProvisionedNodes", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.nodesV1.listProvisionedNodes(\"\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "ListProvisionedNodes", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.ListProvisionedNodesResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n ListProvisionedNodesResponse res = sdk.nodesV1().listProvisionedNodes()\n .fleetId(\"\")\n .call();\n\n if (res.nodeV1s().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/metrics/v1/{appId}/process/{processId}": { + "get": { + "operationId": "GetMetricsDeprecated", + "summary": "GetMetricsDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeprecatedProcessMetricsData" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get metrics for a [process](https://hathora.dev/docs/concepts/hathora-entities#process) using `appId` and `processId`.", + "tags": [ + "MetricsV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + }, + { + "description": "Available metrics to query over time.", + "in": "query", + "name": "metrics", + "required": false, + "schema": { + "default": [ + "cpu", + "memory", + "rate_egress" + ], + "type": "array", + "items": { + "$ref": "#/components/schemas/DeprecatedProcessMetricName" + } + } + }, + { + "description": "Unix timestamp. Default is current time.", + "in": "query", + "name": "end", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Unix timestamp. Default is -1 hour from `end`.", + "in": "query", + "name": "start", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "step", + "required": false, + "schema": { + "$ref": "#/components/schemas/MetricsStep" + } + } + ] + } + }, + "/management/v1/sendverificationemail": { + "post": { + "operationId": "SendVerificationEmail", + "summary": "SendVerificationEmail", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VerificationEmailSuccess" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "ManagementV1" + ], + "security": [], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VerificationEmailRequest" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "SendVerificationEmail", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\n\nvar sdk = new HathoraCloudSDK();\n\nVerificationEmailRequest req = new VerificationEmailRequest() {\n UserId = \"\",\n};\n\n\nusing(var res = await sdk.ManagementV1.SendVerificationEmailAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "SendVerificationEmail", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud();\n\nasync function run() {\n const result = await hathoraCloud.managementV1.sendVerificationEmail({\n userId: \"\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "SendVerificationEmail", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.SendVerificationEmailResponse;\nimport org.openapis.openapi.models.shared.VerificationEmailRequest;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .build();\n\n VerificationEmailRequest req = VerificationEmailRequest.builder()\n .userId(\"\")\n .build();\n\n SendVerificationEmailResponse res = sdk.managementV1().sendVerificationEmail()\n .request(req)\n .call();\n\n if (res.verificationEmailSuccess().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/logs/v1/{appId}/process/{processId}": { + "get": { + "operationId": "GetLogsForProcess", + "summary": "GetLogsForProcess", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "410": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns a stream of logs for a [process](https://hathora.dev/docs/concepts/hathora-entities#process) using `appId` and `processId`.", + "tags": [ + "LogV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + }, + { + "in": "query", + "name": "follow", + "required": false, + "schema": { + "$ref": "#/components/schemas/LogsFollow" + } + }, + { + "in": "query", + "name": "tailLines", + "required": false, + "schema": { + "$ref": "#/components/schemas/TailLines" + } + } + ], + "x-speakeasy-group": "LogsV1", + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetLogsForProcess", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetLogsForProcessRequest req = new GetLogsForProcessRequest() {\n ProcessId = \"cbfcddd2-0006-43ae-996c-995fff7bed2e\",\n TailLines = 100,\n};\n\n\nusing(var res = await sdk.LogsV1.GetLogsForProcessAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetLogsForProcess", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.logsV1.getLogsForProcess(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetLogsForProcess", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetLogsForProcessRequest;\nimport org.openapis.openapi.models.operations.GetLogsForProcessResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetLogsForProcessRequest req = GetLogsForProcessRequest.builder()\n .processId(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\")\n .build();\n\n GetLogsForProcessResponse res = sdk.logsV1().getLogsForProcess()\n .request(req)\n .call();\n\n if (res.responseStream().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/logs/v1/{appId}/process/{processId}/download": { + "get": { + "operationId": "DownloadLogForProcess", + "summary": "DownloadLogForProcess", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "410": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Download entire log file for a stopped process.", + "tags": [ + "LogV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "processId", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProcessId" + } + } + ], + "x-speakeasy-group": "LogsV1", + "x-codeSamples": [ + { + "lang": "unity", + "label": "DownloadLogForProcess", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nDownloadLogForProcessRequest req = new DownloadLogForProcessRequest() {\n ProcessId = \"cbfcddd2-0006-43ae-996c-995fff7bed2e\",\n};\n\n\nusing(var res = await sdk.LogsV1.DownloadLogForProcessAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "DownloadLogForProcess", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.logsV1.downloadLogForProcess(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "DownloadLogForProcess", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.DownloadLogForProcessResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n DownloadLogForProcessResponse res = sdk.logsV1().downloadLogForProcess()\n .processId(\"cbfcddd2-0006-43ae-996c-995fff7bed2e\")\n .call();\n\n if (res.responseStream().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/lobby/v1/{appId}/create/private": { + "post": { + "operationId": "CreatePrivateLobbyDeprecated", + "summary": "CreatePrivateLobbyDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "LobbyV1" + ], + "deprecated": true, + "security": [ + { + "playerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "in": "query", + "name": "local", + "required": false, + "schema": { + "default": false, + "type": "boolean" + } + } + ], + "x-speakeasy-group": "LobbiesV1" + } + }, + "/lobby/v1/{appId}/create/public": { + "post": { + "operationId": "CreatePublicLobbyDeprecated", + "summary": "CreatePublicLobbyDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "LobbyV1" + ], + "deprecated": true, + "security": [ + { + "playerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "in": "query", + "name": "local", + "required": false, + "schema": { + "default": false, + "type": "boolean" + } + } + ], + "x-speakeasy-group": "LobbiesV1" + } + }, + "/lobby/v1/{appId}/list": { + "get": { + "operationId": "ListActivePublicLobbiesDeprecatedV1", + "summary": "ListActivePublicLobbiesDeprecatedV1", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Lobby" + }, + "type": "array" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "LobbyV1" + ], + "deprecated": true, + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "local", + "required": false, + "schema": { + "default": false, + "type": "boolean" + } + }, + { + "in": "query", + "name": "region", + "required": false, + "schema": { + "$ref": "#/components/schemas/Region" + } + } + ], + "x-speakeasy-group": "LobbiesV1" + } + }, + "/lobby/v2/{appId}/create/private": { + "post": { + "operationId": "CreatePrivateLobby", + "summary": "CreatePrivateLobby", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lobby" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "LobbyV2" + ], + "deprecated": true, + "security": [ + { + "playerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "roomId", + "required": false, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "initialConfig": { + "$ref": "#/components/schemas/LobbyInitialConfig" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "initialConfig", + "region" + ], + "type": "object" + } + } + } + }, + "x-speakeasy-group": "LobbiesV2" + } + }, + "/lobby/v2/{appId}/create/public": { + "post": { + "operationId": "CreatePublicLobby", + "summary": "CreatePublicLobby", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lobby" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "LobbyV2" + ], + "deprecated": true, + "security": [ + { + "playerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "roomId", + "required": false, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "initialConfig": { + "$ref": "#/components/schemas/LobbyInitialConfig" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "initialConfig", + "region" + ], + "type": "object" + } + } + } + }, + "x-speakeasy-group": "LobbiesV2" + } + }, + "/lobby/v2/{appId}/create/local": { + "post": { + "operationId": "CreateLocalLobby", + "summary": "CreateLocalLobby", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lobby" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "LobbyV2" + ], + "deprecated": true, + "security": [ + { + "playerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "roomId", + "required": false, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "initialConfig": { + "$ref": "#/components/schemas/LobbyInitialConfig" + }, + "region": { + "$ref": "#/components/schemas/Region" + } + }, + "required": [ + "initialConfig", + "region" + ], + "type": "object" + } + } + } + }, + "x-speakeasy-group": "LobbiesV2" + } + }, + "/lobby/v2/{appId}/create": { + "post": { + "operationId": "CreateLobbyDeprecated", + "summary": "CreateLobbyDeprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lobby" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new lobby for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). A lobby object is a wrapper around a [room](https://hathora.dev/docs/concepts/hathora-entities#room) object. With a lobby, you get additional functionality like configuring the visibility of the room, managing the state of a match, and retrieving a list of public lobbies to display to players.", + "tags": [ + "LobbyV2" + ], + "deprecated": true, + "security": [ + { + "playerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "roomId", + "required": false, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateLobbyParams" + } + } + } + }, + "x-speakeasy-group": "LobbiesV2" + } + }, + "/lobby/v2/{appId}/list/public": { + "get": { + "operationId": "ListActivePublicLobbiesDeprecatedV2", + "summary": "ListActivePublicLobbiesDeprecatedV2", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Lobby" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get all active lobbies for a an [application](https://hathora.dev/docs/concepts/hathora-entities#application). Filter by optionally passing in a `region`. Use this endpoint to display all public lobbies that a player can join in the game client.", + "tags": [ + "LobbyV2" + ], + "deprecated": true, + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "description": "Region to filter by. If omitted, active public lobbies in all regions will be returned.", + "in": "query", + "name": "region", + "required": false, + "schema": { + "$ref": "#/components/schemas/Region" + } + } + ], + "x-speakeasy-group": "LobbiesV2" + } + }, + "/lobby/v2/{appId}/info/{roomId}": { + "get": { + "operationId": "GetLobbyInfo", + "summary": "GetLobbyInfo", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lobby" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a lobby.", + "tags": [ + "LobbyV2" + ], + "deprecated": true, + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "LobbiesV2" + } + }, + "/lobby/v2/{appId}/setState/{roomId}": { + "post": { + "operationId": "SetLobbyState", + "summary": "SetLobbyState", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lobby" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Set the state of a lobby. State is intended to be set by the server and must be smaller than 1MB. Use this endpoint to store match data like live player count to enforce max number of clients or persist end-game data (i.e. winner or final scores).", + "tags": [ + "LobbyV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetLobbyStateParams" + } + } + } + }, + "x-speakeasy-group": "LobbiesV2" + } + }, + "/lobby/v3/{appId}/create": { + "post": { + "operationId": "CreateLobby", + "summary": "CreateLobby", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LobbyV3" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "402": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new lobby for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). A lobby object is a wrapper around a [room](https://hathora.dev/docs/concepts/hathora-entities#room) object. With a lobby, you get additional functionality like configuring the visibility of the room, managing the state of a match, and retrieving a list of public lobbies to display to players.", + "tags": [ + "LobbyV3SDK" + ], + "security": [ + { + "playerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "shortCode", + "required": false, + "schema": { + "$ref": "#/components/schemas/ShortCode" + } + }, + { + "in": "query", + "name": "roomId", + "required": false, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateLobbyV3Params" + } + } + } + }, + "x-speakeasy-group": "LobbiesV3", + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateLobby", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Operations;\nusing HathoraCloud.Models.Shared;\n\nvar sdk = new HathoraCloudSDK(appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\nCreateLobbyRequest req = new CreateLobbyRequest() {\n ShortCode = \"LFG4\",\n RoomId = \"2swovpy1fnunu\",\n CreateLobbyV3Params = new CreateLobbyV3Params() {\n Visibility = LobbyVisibility.Private,\n RoomConfig = \"{\\\"name\\\":\\\"my-room\\\"}\",\n Region = Region.Dubai,\n },\n};\n\n\nusing(var res = await sdk.LobbiesV3.CreateLobbyAsync(\n security: new CreateLobbySecurity() {\n PlayerAuth = \"\",\n },\n req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateLobby", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n});\n\nasync function run() {\n const result = await hathoraCloud.lobbiesV3.createLobby({\n playerAuth: \"\",\n }, {\n visibility: \"private\",\n roomConfig: \"{\\\"name\\\":\\\"my-room\\\"}\",\n region: \"Dubai\",\n }, undefined, \"LFG4\", \"2swovpy1fnunu\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateLobby", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.*;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .build();\n\n CreateLobbyRequest req = CreateLobbyRequest.builder()\n .createLobbyV3Params(CreateLobbyV3Params.builder()\n .visibility(LobbyVisibility.PRIVATE)\n .region(Region.DUBAI)\n .roomConfig(\"{\\\"name\\\":\\\"my-room\\\"}\")\n .build())\n .shortCode(\"LFG4\")\n .roomId(\"2swovpy1fnunu\")\n .build();\n\n CreateLobbyResponse res = sdk.lobbiesV3().createLobby()\n .request(req)\n .security(CreateLobbySecurity.builder()\n .playerAuth(System.getenv().getOrDefault(\"PLAYER_AUTH\", \"\"))\n .build())\n .call();\n\n if (res.lobbyV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/lobby/v3/{appId}/list/public": { + "get": { + "operationId": "ListActivePublicLobbies", + "summary": "ListActivePublicLobbies", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/LobbyV3" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get all active lobbies for a given [application](https://hathora.dev/docs/concepts/hathora-entities#application). Filter the array by optionally passing in a `region`. Use this endpoint to display all public lobbies that a player can join in the game client.", + "tags": [ + "LobbyV3SDK" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "description": "If omitted, active public lobbies in all regions will be returned.", + "in": "query", + "name": "region", + "required": false, + "schema": { + "$ref": "#/components/schemas/Region" + } + } + ], + "x-speakeasy-group": "LobbiesV3", + "x-codeSamples": [ + { + "lang": "unity", + "label": "ListActivePublicLobbies", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\nListActivePublicLobbiesRequest req = new ListActivePublicLobbiesRequest() {};\n\n\nusing(var res = await sdk.LobbiesV3.ListActivePublicLobbiesAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "ListActivePublicLobbies", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n});\n\nasync function run() {\n const result = await hathoraCloud.lobbiesV3.listActivePublicLobbies();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "ListActivePublicLobbies", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.ListActivePublicLobbiesResponse;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .build();\n\n ListActivePublicLobbiesResponse res = sdk.lobbiesV3().listActivePublicLobbies()\n .call();\n\n if (res.lobbyV3s().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/lobby/v3/{appId}/info/roomid/{roomId}": { + "get": { + "operationId": "GetLobbyInfoByRoomId", + "summary": "GetLobbyInfoByRoomId", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LobbyV3" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a lobby.", + "tags": [ + "LobbyV3SDK" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "roomId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoomId" + } + } + ], + "x-speakeasy-group": "LobbiesV3", + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetLobbyInfoByRoomId", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\nGetLobbyInfoByRoomIdRequest req = new GetLobbyInfoByRoomIdRequest() {\n RoomId = \"2swovpy1fnunu\",\n};\n\n\nusing(var res = await sdk.LobbiesV3.GetLobbyInfoByRoomIdAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetLobbyInfoByRoomId", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n});\n\nasync function run() {\n const result = await hathoraCloud.lobbiesV3.getLobbyInfoByRoomId(\"2swovpy1fnunu\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetLobbyInfoByRoomId", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetLobbyInfoByRoomIdResponse;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .build();\n\n GetLobbyInfoByRoomIdResponse res = sdk.lobbiesV3().getLobbyInfoByRoomId()\n .roomId(\"2swovpy1fnunu\")\n .call();\n\n if (res.lobbyV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/lobby/v3/{appId}/info/shortcode/{shortCode}": { + "get": { + "operationId": "GetLobbyInfoByShortCode", + "summary": "GetLobbyInfoByShortCode", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LobbyV3" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a lobby. If 2 or more lobbies have the same `shortCode`, then the most recently created lobby will be returned.", + "tags": [ + "LobbyV3SDK" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "shortCode", + "required": true, + "schema": { + "$ref": "#/components/schemas/ShortCode" + } + } + ], + "x-speakeasy-group": "LobbiesV3", + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetLobbyInfoByShortCode", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\nGetLobbyInfoByShortCodeRequest req = new GetLobbyInfoByShortCodeRequest() {\n ShortCode = \"LFG4\",\n};\n\n\nusing(var res = await sdk.LobbiesV3.GetLobbyInfoByShortCodeAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetLobbyInfoByShortCode", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n});\n\nasync function run() {\n const result = await hathoraCloud.lobbiesV3.getLobbyInfoByShortCode(\"LFG4\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetLobbyInfoByShortCode", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetLobbyInfoByShortCodeResponse;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .build();\n\n GetLobbyInfoByShortCodeResponse res = sdk.lobbiesV3().getLobbyInfoByShortCode()\n .shortCode(\"LFG4\")\n .call();\n\n if (res.lobbyV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/fleets/v1/fleets": { + "get": { + "operationId": "GetFleetsDeprecated", + "summary": "GetFleetsDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetsPage" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an array of [fleets](https://hathora.dev/docs/concepts/hathora-entities#fleet).", + "tags": [ + "FleetsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleetsDeprecated", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetsDeprecatedRequest req = new GetFleetsDeprecatedRequest() {};\n\n\nusing(var res = await sdk.FleetsV1.GetFleetsDeprecatedAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleetsDeprecated", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV1.getFleetsDeprecated();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleetsDeprecated", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetsDeprecatedResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetsDeprecatedResponse res = sdk.fleetsV1().getFleetsDeprecated()\n .call();\n\n if (res.fleetsPage().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "post": { + "operationId": "CreateFleetDeprecated", + "summary": "CreateFleetDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Fleet" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "FleetsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateFleet" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateFleetDeprecated", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateFleetDeprecatedRequest req = new CreateFleetDeprecatedRequest() {\n CreateFleet = new CreateFleet() {\n NodeShape = NodeShape.Cpu1632,\n AutoscalerConfig = new AutoscalerConfig() {\n ScaleUpThreshold = 557407,\n },\n Name = \"production\",\n },\n};\n\n\nusing(var res = await sdk.FleetsV1.CreateFleetDeprecatedAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateFleetDeprecated", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV1.createFleetDeprecated({\n nodeShape: \"cpu-16-32\",\n autoscalerConfig: {\n scaleUpThreshold: 557407,\n },\n name: \"production\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateFleetDeprecated", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateFleetDeprecatedResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateFleetDeprecatedResponse res = sdk.fleetsV1().createFleetDeprecated()\n .createFleet(CreateFleet.builder()\n .nodeShape(NodeShape.CPU1632)\n .autoscalerConfig(AutoscalerConfig.builder()\n .scaleUpThreshold(557407)\n .build())\n .name(\"production\")\n .build())\n .call();\n\n if (res.fleet().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/fleets/v1/fleets/{fleetId}": { + "get": { + "operationId": "GetFleetDeprecated", + "summary": "GetFleetDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Fleet" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet).", + "tags": [ + "FleetsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleetDeprecated", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetDeprecatedRequest req = new GetFleetDeprecatedRequest() {\n FleetId = \"\",\n};\n\n\nusing(var res = await sdk.FleetsV1.GetFleetDeprecatedAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleetDeprecated", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV1.getFleetDeprecated(\"\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleetDeprecated", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetDeprecatedResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetDeprecatedResponse res = sdk.fleetsV1().getFleetDeprecated()\n .fleetId(\"\")\n .call();\n\n if (res.fleet().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "post": { + "operationId": "UpdateFleetDeprecated", + "summary": "UpdateFleetDeprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Updates a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet)'s configuration.", + "tags": [ + "FleetsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateFleet" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "UpdateFleetDeprecated", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nUpdateFleetDeprecatedRequest req = new UpdateFleetDeprecatedRequest() {\n FleetId = \"\",\n UpdateFleet = new UpdateFleet() {\n AutoscalerConfig = new AutoscalerConfig() {\n ScaleUpThreshold = 638855,\n },\n Name = \"production\",\n },\n};\n\n\nusing(var res = await sdk.FleetsV1.UpdateFleetDeprecatedAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "UpdateFleetDeprecated", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.fleetsV1.updateFleetDeprecated(\"\", {\n autoscalerConfig: {\n scaleUpThreshold: 638855,\n },\n name: \"production\",\n });\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "UpdateFleetDeprecated", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.UpdateFleetDeprecatedResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n UpdateFleetDeprecatedResponse res = sdk.fleetsV1().updateFleetDeprecated()\n .fleetId(\"\")\n .updateFleet(UpdateFleet.builder()\n .autoscalerConfig(AutoscalerConfig.builder()\n .scaleUpThreshold(638855)\n .build())\n .name(\"production\")\n .build())\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/fleets/v1/fleets/{fleetId}/regions/{region}": { + "get": { + "operationId": "GetFleetRegionDeprecated", + "summary": "GetFleetRegionDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetRegion" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Gets the configuration for a given [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet) in a region.", + "tags": [ + "FleetsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleetRegionDeprecated", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetRegionDeprecatedRequest req = new GetFleetRegionDeprecatedRequest() {\n FleetId = \"\",\n Region = Region.SaoPaulo,\n};\n\n\nusing(var res = await sdk.FleetsV1.GetFleetRegionDeprecatedAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleetRegionDeprecated", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV1.getFleetRegionDeprecated(\"\", \"Sao_Paulo\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleetRegionDeprecated", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetRegionDeprecatedResponse;\nimport org.openapis.openapi.models.shared.Region;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetRegionDeprecatedResponse res = sdk.fleetsV1().getFleetRegionDeprecated()\n .fleetId(\"\")\n .region(Region.SAO_PAULO)\n .call();\n\n if (res.fleetRegion().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "put": { + "operationId": "UpdateFleetRegionDeprecated", + "summary": "UpdateFleetRegionDeprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Updates the configuration for a given [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet) in a region.", + "tags": [ + "FleetsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetRegionConfig" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "UpdateFleetRegionDeprecated", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nUpdateFleetRegionDeprecatedRequest req = new UpdateFleetRegionDeprecatedRequest() {\n FleetId = \"\",\n Region = Region.Johannesburg,\n FleetRegionConfig = new FleetRegionConfig() {\n CloudMinVcpus = 122781,\n },\n};\n\n\nusing(var res = await sdk.FleetsV1.UpdateFleetRegionDeprecatedAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "UpdateFleetRegionDeprecated", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.fleetsV1.updateFleetRegionDeprecated(\"\", \"Johannesburg\", {\n cloudMinVcpus: 122781,\n });\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "UpdateFleetRegionDeprecated", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.UpdateFleetRegionDeprecatedRequest;\nimport org.openapis.openapi.models.operations.UpdateFleetRegionDeprecatedResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n UpdateFleetRegionDeprecatedRequest req = UpdateFleetRegionDeprecatedRequest.builder()\n .fleetId(\"\")\n .region(Region.JOHANNESBURG)\n .fleetRegionConfig(FleetRegionConfig.builder()\n .cloudMinVcpus(122781)\n .build())\n .build();\n\n UpdateFleetRegionDeprecatedResponse res = sdk.fleetsV1().updateFleetRegionDeprecated()\n .request(req)\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/fleets/v1/fleets/{fleetId}/metrics": { + "get": { + "operationId": "GetFleetMetricsDeprecated", + "summary": "GetFleetMetricsDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetMetricsData" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Gets aggregate metrics for a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet).", + "tags": [ + "FleetsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "description": "Available metrics to query over time.", + "in": "query", + "name": "metrics", + "required": false, + "schema": { + "default": [ + "provisionedBareMetal", + "provisionedCloud", + "utilized", + "systemOverhead" + ], + "type": "array", + "items": { + "$ref": "#/components/schemas/FleetMetricName" + } + } + }, + { + "in": "query", + "name": "end", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Unix timestamp. Default is -1 hour from `end`.", + "in": "query", + "name": "start", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "step", + "required": false, + "schema": { + "$ref": "#/components/schemas/MetricsStep" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleetMetricsDeprecated", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetMetricsDeprecatedRequest req = new GetFleetMetricsDeprecatedRequest() {\n FleetId = \"\",\n};\n\n\nusing(var res = await sdk.FleetsV1.GetFleetMetricsDeprecatedAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleetMetricsDeprecated", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV1.getFleetMetricsDeprecated({\n fleetId: \"\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleetMetricsDeprecated", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetMetricsDeprecatedRequest;\nimport org.openapis.openapi.models.operations.GetFleetMetricsDeprecatedResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetMetricsDeprecatedRequest req = GetFleetMetricsDeprecatedRequest.builder()\n .fleetId(\"\")\n .build();\n\n GetFleetMetricsDeprecatedResponse res = sdk.fleetsV1().getFleetMetricsDeprecated()\n .request(req)\n .call();\n\n if (res.fleetMetricsData().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/fleets/v1/fleets/{fleetId}/regions/{region}/metrics": { + "get": { + "operationId": "GetFleetRegionMetricsDeprecated", + "summary": "GetFleetRegionMetricsDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetMetricsData" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Gets metrics for a region in a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet).", + "tags": [ + "FleetsV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "description": "Available metrics to query over time.", + "in": "query", + "name": "metrics", + "required": false, + "schema": { + "default": [ + "provisionedBareMetal", + "provisionedCloud", + "utilized", + "systemOverhead" + ], + "type": "array", + "items": { + "$ref": "#/components/schemas/FleetMetricName" + } + } + }, + { + "in": "query", + "name": "end", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Unix timestamp. Default is -1 hour from `end`.", + "in": "query", + "name": "start", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "step", + "required": false, + "schema": { + "$ref": "#/components/schemas/MetricsStep" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleetRegionMetricsDeprecated", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetRegionMetricsDeprecatedRequest req = new GetFleetRegionMetricsDeprecatedRequest() {\n FleetId = \"\",\n Region = Region.Dubai,\n};\n\n\nusing(var res = await sdk.FleetsV1.GetFleetRegionMetricsDeprecatedAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleetRegionMetricsDeprecated", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV1.getFleetRegionMetricsDeprecated({\n fleetId: \"\",\n region: \"Dubai\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleetRegionMetricsDeprecated", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetRegionMetricsDeprecatedRequest;\nimport org.openapis.openapi.models.operations.GetFleetRegionMetricsDeprecatedResponse;\nimport org.openapis.openapi.models.shared.Region;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetRegionMetricsDeprecatedRequest req = GetFleetRegionMetricsDeprecatedRequest.builder()\n .fleetId(\"\")\n .region(Region.DUBAI)\n .build();\n\n GetFleetRegionMetricsDeprecatedResponse res = sdk.fleetsV1().getFleetRegionMetricsDeprecated()\n .request(req)\n .call();\n\n if (res.fleetMetricsData().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/fleets/v2/nodeShapes": { + "get": { + "operationId": "GetNodeShapes", + "summary": "GetNodeShapes", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/NodeShapeV2" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetNodeShapes", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetNodeShapesRequest req = new GetNodeShapesRequest() {};\n\n\nusing(var res = await sdk.FleetsV2.GetNodeShapesAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetNodeShapes", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV2.getNodeShapes();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetNodeShapes", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetNodeShapesResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetNodeShapesResponse res = sdk.fleetsV2().getNodeShapes()\n .call();\n\n if (res.nodeShapeV2s().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/fleets/v2/fleets": { + "get": { + "operationId": "GetFleets", + "summary": "GetFleets", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetsPageV2" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an array of [fleets](https://hathora.dev/docs/concepts/hathora-entities#fleet).", + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleets", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetsRequest req = new GetFleetsRequest() {};\n\n\nusing(var res = await sdk.FleetsV2.GetFleetsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleets", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV2.getFleets();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleets", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetsResponse res = sdk.fleetsV2().getFleets()\n .call();\n\n if (res.fleetsPageV2().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "post": { + "operationId": "CreateFleet", + "summary": "CreateFleet", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetV2" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateFleetV2" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateFleet", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateFleetRequest req = new CreateFleetRequest() {\n CreateFleetV2 = new CreateFleetV2() {\n NodeShapeId = NodeShapeId.ShapeL48,\n AutoscalerConfig = new AutoscalerConfig() {\n ScaleUpThreshold = 400145,\n },\n Name = \"production\",\n },\n};\n\n\nusing(var res = await sdk.FleetsV2.CreateFleetAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateFleet", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV2.createFleet({\n nodeShapeId: \"shape-l4-8\",\n autoscalerConfig: {\n scaleUpThreshold: 400145,\n },\n name: \"production\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateFleet", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateFleetResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateFleetResponse res = sdk.fleetsV2().createFleet()\n .createFleetV2(CreateFleetV2.builder()\n .nodeShapeId(NodeShapeId.SHAPE_L48)\n .autoscalerConfig(AutoscalerConfig.builder()\n .scaleUpThreshold(400145)\n .build())\n .name(\"production\")\n .build())\n .call();\n\n if (res.fleetV2().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/fleets/v2/fleets/{fleetId}": { + "get": { + "operationId": "GetFleet", + "summary": "GetFleet", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetV2" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet).", + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleet", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetRequest req = new GetFleetRequest() {\n FleetId = \"\",\n};\n\n\nusing(var res = await sdk.FleetsV2.GetFleetAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleet", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV2.getFleet(\"\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleet", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetResponse res = sdk.fleetsV2().getFleet()\n .fleetId(\"\")\n .call();\n\n if (res.fleetV2().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "post": { + "operationId": "UpdateFleet", + "summary": "UpdateFleet", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Updates a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet)'s configuration.", + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateFleetV2" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "UpdateFleet", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nUpdateFleetRequest req = new UpdateFleetRequest() {\n FleetId = \"\",\n UpdateFleetV2 = new UpdateFleetV2() {\n AutoscalerConfig = new AutoscalerConfig() {\n ScaleUpThreshold = 979840,\n },\n Name = \"production\",\n },\n};\n\n\nusing(var res = await sdk.FleetsV2.UpdateFleetAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "UpdateFleet", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.fleetsV2.updateFleet(\"\", {\n autoscalerConfig: {\n scaleUpThreshold: 979840,\n },\n name: \"production\",\n });\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "UpdateFleet", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.UpdateFleetResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n UpdateFleetResponse res = sdk.fleetsV2().updateFleet()\n .fleetId(\"\")\n .updateFleetV2(UpdateFleetV2.builder()\n .autoscalerConfig(AutoscalerConfig.builder()\n .scaleUpThreshold(979840)\n .build())\n .name(\"production\")\n .build())\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/fleets/v2/fleets/{fleetId}/regions/{region}": { + "get": { + "operationId": "GetFleetRegion", + "summary": "GetFleetRegion", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetRegion" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Gets the configuration for a given [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet) in a region.", + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleetRegion", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetRegionRequest req = new GetFleetRegionRequest() {\n FleetId = \"\",\n Region = Region.Singapore,\n};\n\n\nusing(var res = await sdk.FleetsV2.GetFleetRegionAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleetRegion", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV2.getFleetRegion(\"\", \"Singapore\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleetRegion", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetRegionResponse;\nimport org.openapis.openapi.models.shared.Region;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetRegionResponse res = sdk.fleetsV2().getFleetRegion()\n .fleetId(\"\")\n .region(Region.SINGAPORE)\n .call();\n\n if (res.fleetRegion().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "put": { + "operationId": "DeprecatedUpdateFleetRegionV2", + "summary": "DeprecatedUpdateFleetRegionV2", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Updates the configuration for a given [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet) in a region.", + "tags": [ + "FleetsV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetRegionConfig" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "UpdateFleetRegion", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nUpdateFleetRegionRequest req = new UpdateFleetRegionRequest() {\n FleetId = \"\",\n Region = Region.Chicago,\n FleetRegionConfig = new FleetRegionConfig() {\n CloudMinVcpus = 503995,\n },\n};\n\n\nusing(var res = await sdk.FleetsV2.UpdateFleetRegionAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "java", + "label": "UpdateFleetRegion", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.UpdateFleetRegionRequest;\nimport org.openapis.openapi.models.operations.UpdateFleetRegionResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n UpdateFleetRegionRequest req = UpdateFleetRegionRequest.builder()\n .fleetId(\"\")\n .region(Region.CHICAGO)\n .fleetRegionConfig(FleetRegionConfig.builder()\n .cloudMinVcpus(503995)\n .build())\n .build();\n\n UpdateFleetRegionResponse res = sdk.fleetsV2().updateFleetRegion()\n .request(req)\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/fleets/v2/fleets/{fleetId}/regions/{region}/v2": { + "put": { + "operationId": "UpdateFleetRegion", + "summary": "UpdateFleetRegion", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Updates the configuration for a given [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet) in a region.", + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetRegionConfigV2" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "typescript", + "label": "UpdateFleetRegion", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.fleetsV2.updateFleetRegion(\"\", \"Chicago\", {\n nodeBaseline: 503995,\n });\n\n\n}\n\nrun();" + } + ] + } + }, + "/fleets/v2/fleets/{fleetId}/metrics": { + "get": { + "operationId": "GetFleetMetrics", + "summary": "GetFleetMetrics", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetMetricsData" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Gets aggregate metrics for a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet).", + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "description": "Available metrics to query over time.", + "in": "query", + "name": "metrics", + "required": false, + "schema": { + "default": [ + "provisionedBareMetal", + "provisionedCloud", + "utilized", + "systemOverhead" + ], + "type": "array", + "items": { + "$ref": "#/components/schemas/FleetMetricName" + } + } + }, + { + "in": "query", + "name": "end", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Unix timestamp. Default is -1 hour from `end`.", + "in": "query", + "name": "start", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "step", + "required": false, + "schema": { + "$ref": "#/components/schemas/MetricsStep" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleetMetrics", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetMetricsRequest req = new GetFleetMetricsRequest() {\n FleetId = \"\",\n};\n\n\nusing(var res = await sdk.FleetsV2.GetFleetMetricsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleetMetrics", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV2.getFleetMetrics({\n fleetId: \"\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleetMetrics", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetMetricsRequest;\nimport org.openapis.openapi.models.operations.GetFleetMetricsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetMetricsRequest req = GetFleetMetricsRequest.builder()\n .fleetId(\"\")\n .build();\n\n GetFleetMetricsResponse res = sdk.fleetsV2().getFleetMetrics()\n .request(req)\n .call();\n\n if (res.fleetMetricsData().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/fleets/v2/fleets/{fleetId}/regions/{region}/metrics": { + "get": { + "operationId": "GetFleetRegionMetrics", + "summary": "GetFleetRegionMetrics", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FleetMetricsData" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Gets metrics for a region in a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet).", + "tags": [ + "FleetsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "fleetId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FleetId" + } + }, + { + "in": "path", + "name": "region", + "required": true, + "schema": { + "$ref": "#/components/schemas/Region" + } + }, + { + "description": "Available metrics to query over time.", + "in": "query", + "name": "metrics", + "required": false, + "schema": { + "default": [ + "provisionedBareMetal", + "provisionedCloud", + "utilized", + "systemOverhead" + ], + "type": "array", + "items": { + "$ref": "#/components/schemas/FleetMetricName" + } + } + }, + { + "in": "query", + "name": "end", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Unix timestamp. Default is -1 hour from `end`.", + "in": "query", + "name": "start", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "step", + "required": false, + "schema": { + "$ref": "#/components/schemas/MetricsStep" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetFleetRegionMetrics", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetFleetRegionMetricsRequest req = new GetFleetRegionMetricsRequest() {\n FleetId = \"\",\n Region = Region.Chicago,\n};\n\n\nusing(var res = await sdk.FleetsV2.GetFleetRegionMetricsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetFleetRegionMetrics", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.fleetsV2.getFleetRegionMetrics({\n fleetId: \"\",\n region: \"Chicago\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetFleetRegionMetrics", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetFleetRegionMetricsRequest;\nimport org.openapis.openapi.models.operations.GetFleetRegionMetricsResponse;\nimport org.openapis.openapi.models.shared.Region;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetFleetRegionMetricsRequest req = GetFleetRegionMetricsRequest.builder()\n .fleetId(\"\")\n .region(Region.CHICAGO)\n .build();\n\n GetFleetRegionMetricsResponse res = sdk.fleetsV2().getFleetRegionMetrics()\n .request(req)\n .call();\n\n if (res.fleetMetricsData().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/discovery/v1/ping": { + "get": { + "operationId": "GetPingServiceEndpointsDeprecated", + "summary": "GetPingServiceEndpointsDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PingEndpoints" + } + } + } + } + }, + "description": "Returns an array of V1 regions with a host and port that a client can directly ping. Open a websocket connection to `wss://:/ws` and send a packet. To calculate ping, measure the time it takes to get an echo packet back.", + "tags": [ + "DiscoveryV1" + ], + "deprecated": true, + "security": [], + "parameters": [] + } + }, + "/discovery/v2/ping": { + "get": { + "operationId": "GetPingServiceEndpoints", + "summary": "GetPingServiceEndpoints", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PingEndpoints" + } + } + } + } + }, + "description": "Returns an array of all regions with a host and port that a client can directly ping. Open a websocket connection to `wss://:` and send a packet. To calculate ping, measure the time it takes to get an echo packet back.", + "tags": [ + "DiscoveryV2" + ], + "security": [], + "parameters": [], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetPingServiceEndpoints", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\n\nvar sdk = new HathoraCloudSDK();\n\n\nusing(var res = await sdk.DiscoveryV2.GetPingServiceEndpointsAsync())\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetPingServiceEndpoints", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud();\n\nasync function run() {\n const result = await hathoraCloud.discoveryV2.getPingServiceEndpoints();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetPingServiceEndpoints", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.operations.GetPingServiceEndpointsResponse;\n\npublic class Application {\n\n public static void main(String[] args) throws Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .build();\n\n GetPingServiceEndpointsResponse res = sdk.discoveryV2().getPingServiceEndpoints()\n .call();\n\n if (res.pingEndpoints().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/deployments/v1/{appId}/list": { + "get": { + "operationId": "GetDeploymentsV1Deprecated", + "summary": "GetDeploymentsV1Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/DeploymentV1" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an array of [deployments](https://hathora.dev/docs/concepts/hathora-entities#deployment) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "DeploymentV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-speakeasy-group": "DeploymentsV1" + } + }, + "/deployments/v1/{appId}/latest": { + "get": { + "operationId": "GetLatestDeploymentV1Deprecated", + "summary": "GetLatestDeploymentV1Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV1" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get the latest [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "DeploymentV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-speakeasy-group": "DeploymentsV1" + } + }, + "/deployments/v1/{appId}/info/{deploymentId}": { + "get": { + "operationId": "GetDeploymentInfoV1Deprecated", + "summary": "GetDeploymentInfoV1Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV1" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment).", + "tags": [ + "DeploymentV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "deploymentId", + "required": true, + "schema": { + "$ref": "#/components/schemas/DeploymentId" + } + } + ], + "x-speakeasy-group": "DeploymentsV1" + } + }, + "/deployments/v1/{appId}/create/{buildId}": { + "post": { + "operationId": "CreateDeploymentV1Deprecated", + "summary": "CreateDeploymentV1Deprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV1" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment). Creating a new deployment means all new rooms created will use the latest deployment configuration, but existing games in progress will not be affected.", + "tags": [ + "DeploymentV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/BuildId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentConfig" + } + } + } + }, + "x-speakeasy-group": "DeploymentsV1" + } + }, + "/deployments/v2/{appId}/list": { + "get": { + "operationId": "GetDeploymentsV2Deprecated", + "summary": "GetDeploymentsV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/DeploymentV2" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an array of [deployments](https://hathora.dev/docs/concepts/hathora-entities#deployment) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "DeploymentV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-speakeasy-group": "DeploymentsV2" + } + }, + "/deployments/v2/{appId}/latest": { + "get": { + "operationId": "GetLatestDeploymentV2Deprecated", + "summary": "GetLatestDeploymentV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV2" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get the latest [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "DeploymentV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-speakeasy-group": "DeploymentsV2" + } + }, + "/deployments/v2/{appId}/info/{deploymentId}": { + "get": { + "operationId": "GetDeploymentInfoV2Deprecated", + "summary": "GetDeploymentInfoV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV2" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment).", + "tags": [ + "DeploymentV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "deploymentId", + "required": true, + "schema": { + "$ref": "#/components/schemas/DeploymentId" + } + } + ], + "x-speakeasy-group": "DeploymentsV2" + } + }, + "/deployments/v2/{appId}/create/{buildId}": { + "post": { + "operationId": "CreateDeploymentV2Deprecated", + "summary": "CreateDeploymentV2Deprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV2" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment). Creating a new deployment means all new rooms created will use the latest deployment configuration, but existing games in progress will not be affected.", + "tags": [ + "DeploymentV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/BuildId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentConfigV2" + } + } + } + }, + "x-speakeasy-group": "DeploymentsV2" + } + }, + "/deployments/v3/apps/{appId}/deployments": { + "get": { + "operationId": "GetDeployments", + "summary": "GetDeployments", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentsV3Page" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an array of [deployments](https://hathora.dev/docs/concepts/hathora-entities#deployment) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application), optionally filtered by deploymentTag or buildTag.", + "tags": [ + "DeploymentsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "query", + "name": "deploymentTag", + "required": false, + "schema": { + "$ref": "#/components/schemas/DeploymentTag" + } + }, + { + "in": "query", + "name": "buildTag", + "required": false, + "schema": { + "$ref": "#/components/schemas/BuildTag" + } + }, + { + "in": "query", + "name": "nextPageToken", + "required": false, + "schema": { + "type": "string" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetDeployments", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetDeploymentsRequest req = new GetDeploymentsRequest() {\n DeploymentTag = \"alpha\",\n BuildTag = \"0.1.14-14c793\",\n};\n\n\nusing(var res = await sdk.DeploymentsV3.GetDeploymentsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetDeployments", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.deploymentsV3.getDeployments(undefined, \"alpha\", \"0.1.14-14c793\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetDeployments", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetDeploymentsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetDeploymentsResponse res = sdk.deploymentsV3().getDeployments()\n .deploymentTag(\"alpha\")\n .buildTag(\"0.1.14-14c793\")\n .call();\n\n if (res.deploymentsV3Page().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "post": { + "operationId": "CreateDeployment", + "summary": "CreateDeployment", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV3" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment). Creating a new deployment means all new rooms created will use the latest deployment configuration, but existing games in progress will not be affected.", + "tags": [ + "DeploymentsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentConfigV3" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateDeployment", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateDeploymentRequest req = new CreateDeploymentRequest() {\n DeploymentConfigV3 = new DeploymentConfigV3() {\n DeploymentTag = \"alpha\",\n IdleTimeoutEnabled = true,\n Env = new List() {\n new DeploymentConfigV3Env() {\n Value = \"TRUE\",\n Name = \"EULA\",\n },\n },\n RoomsPerProcess = 3,\n AdditionalContainerPorts = new List() {\n new ContainerPort() {\n TransportType = TransportType.Udp,\n Port = 8000,\n Name = \"default\",\n },\n },\n TransportType = TransportType.Udp,\n ContainerPort = 4000,\n RequestedGPU = 1D,\n ExperimentalRequestedGPU = 1D,\n RequestedMemoryMB = 1024D,\n RequestedCPU = 0.5D,\n BuildId = \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n },\n};\n\n\nusing(var res = await sdk.DeploymentsV3.CreateDeploymentAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateDeployment", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.deploymentsV3.createDeployment({\n deploymentTag: \"alpha\",\n idleTimeoutEnabled: true,\n env: [\n {\n value: \"TRUE\",\n name: \"EULA\",\n },\n ],\n roomsPerProcess: 3,\n additionalContainerPorts: [\n {\n transportType: \"udp\",\n port: 8000,\n name: \"default\",\n },\n ],\n transportType: \"udp\",\n containerPort: 4000,\n requestedGPU: 1,\n experimentalRequestedGPU: 1,\n requestedMemoryMB: 1024,\n requestedCPU: 0.5,\n buildId: \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateDeployment", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport java.util.List;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateDeploymentResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateDeploymentResponse res = sdk.deploymentsV3().createDeployment()\n .deploymentConfigV3(DeploymentConfigV3.builder()\n .idleTimeoutEnabled(true)\n .env(List.of(\n DeploymentConfigV3Env.builder()\n .value(\"TRUE\")\n .name(\"EULA\")\n .build()))\n .roomsPerProcess(3)\n .transportType(TransportType.UDP)\n .containerPort(4000)\n .requestedMemoryMB(1024d)\n .requestedCPU(0.5)\n .buildId(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .deploymentTag(\"alpha\")\n .additionalContainerPorts(List.of(\n ContainerPort.builder()\n .transportType(TransportType.UDP)\n .port(8000)\n .name(\"default\")\n .build()))\n .requestedGPU(1d)\n .experimentalRequestedGPU(1d)\n .build())\n .call();\n\n if (res.deploymentV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/deployments/v3/apps/{appId}/deployments/latest": { + "get": { + "operationId": "GetLatestDeployment", + "summary": "GetLatestDeployment", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV3" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get the latest [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "DeploymentsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetLatestDeployment", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetLatestDeploymentRequest req = new GetLatestDeploymentRequest() {};\n\n\nusing(var res = await sdk.DeploymentsV3.GetLatestDeploymentAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetLatestDeployment", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.deploymentsV3.getLatestDeployment();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetLatestDeployment", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetLatestDeploymentResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetLatestDeploymentResponse res = sdk.deploymentsV3().getLatestDeployment()\n .call();\n\n if (res.deploymentV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/deployments/v3/apps/{appId}/deployments/{deploymentId}": { + "get": { + "operationId": "GetDeployment", + "summary": "GetDeployment", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentV3" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [deployment](https://hathora.dev/docs/concepts/hathora-entities#deployment).", + "tags": [ + "DeploymentsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "deploymentId", + "required": true, + "schema": { + "$ref": "#/components/schemas/GlobalDeploymentId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetDeployment", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetDeploymentRequest req = new GetDeploymentRequest() {\n DeploymentId = \"dep-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n};\n\n\nusing(var res = await sdk.DeploymentsV3.GetDeploymentAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetDeployment", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.deploymentsV3.getDeployment(\"dep-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetDeployment", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetDeploymentResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetDeploymentResponse res = sdk.deploymentsV3().getDeployment()\n .deploymentId(\"dep-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .call();\n\n if (res.deploymentV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/builds/v1/{appId}/list": { + "get": { + "operationId": "GetBuildsDeprecated", + "summary": "GetBuildsDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Build" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an array of [builds](https://hathora.dev/docs/concepts/hathora-entities#build) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "BuildV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-speakeasy-group": "BuildsV1" + } + }, + "/builds/v1/{appId}/info/{buildId}": { + "get": { + "operationId": "GetBuildInfoDeprecated", + "summary": "GetBuildInfoDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Build" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [build](https://hathora.dev/docs/concepts/hathora-entities#build).", + "tags": [ + "BuildV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/BuildId" + } + } + ], + "x-speakeasy-group": "BuildsV1" + } + }, + "/builds/v1/{appId}/create": { + "post": { + "operationId": "CreateBuildDeprecated", + "summary": "CreateBuildDeprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Build" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build). Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build.", + "tags": [ + "BuildV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateBuildParams" + } + } + } + }, + "x-speakeasy-group": "BuildsV1" + } + }, + "/builds/v1/{appId}/delete/{buildId}": { + "delete": { + "operationId": "DeleteBuildDeprecated", + "summary": "DeleteBuildDeprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Delete a [build](https://hathora.dev/docs/concepts/hathora-entities#build). All associated metadata is deleted.", + "tags": [ + "BuildV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/BuildId" + } + } + ], + "x-speakeasy-group": "BuildsV1" + } + }, + "/builds/v2/{appId}/list": { + "get": { + "operationId": "GetBuildsV2Deprecated", + "summary": "GetBuildsV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Build" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an array of [builds](https://hathora.dev/docs/concepts/hathora-entities#build) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "BuildV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-speakeasy-group": "BuildsV2" + } + }, + "/builds/v2/{appId}/info/{buildId}": { + "get": { + "operationId": "GetBuildInfoV2Deprecated", + "summary": "GetBuildInfoV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Build" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [build](https://hathora.dev/docs/concepts/hathora-entities#build).", + "tags": [ + "BuildV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/BuildId" + } + } + ], + "x-speakeasy-group": "BuildsV2" + } + }, + "/builds/v2/{appId}/create": { + "post": { + "operationId": "CreateBuildV2Deprecated", + "summary": "CreateBuildV2Deprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Build" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build). Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build.", + "tags": [ + "BuildV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateBuildParams" + } + } + } + }, + "x-speakeasy-group": "BuildsV2" + } + }, + "/builds/v2/{appId}/createWithUploadUrl": { + "post": { + "operationId": "CreateBuildWithUploadUrlV2Deprecated", + "summary": "CreateBuildWithUploadUrlV2Deprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BuildWithUploadUrl" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build) with `uploadUrl` that can be used to upload the build to before calling `runBuild`. Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build.", + "tags": [ + "BuildV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateBuildParams" + } + } + } + }, + "x-speakeasy-group": "BuildsV2" + } + }, + "/builds/v2/{appId}/createWithMultipartUploads": { + "post": { + "operationId": "CreateWithMultipartUploadsV2Deprecated", + "summary": "CreateWithMultipartUploadsV2Deprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BuildWithMultipartUrls" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build) with optional `multipartUploadUrls` that can be used to upload larger builds in parts before calling `runBuild`. Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build.", + "tags": [ + "BuildV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateMultipartBuildParams" + } + } + } + }, + "x-speakeasy-group": "BuildsV2" + } + }, + "/builds/v2/{appId}/delete/{buildId}": { + "delete": { + "operationId": "DeleteBuildV2Deprecated", + "summary": "DeleteBuildV2Deprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Delete a [build](https://hathora.dev/docs/concepts/hathora-entities#build). All associated metadata is deleted.", + "tags": [ + "BuildV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/BuildId" + } + } + ], + "x-speakeasy-group": "BuildsV2" + } + }, + "/builds/v3/builds": { + "get": { + "operationId": "GetBuilds", + "summary": "GetBuilds", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BuildsV3Page" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an array of [builds](https://hathora.dev/docs/concepts/hathora-entities#build) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "BuildsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetBuilds", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetBuildsRequest req = new GetBuildsRequest() {};\n\n\nusing(var res = await sdk.BuildsV3.GetBuildsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetBuilds", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.buildsV3.getBuilds();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetBuilds", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetBuildsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetBuildsResponse res = sdk.buildsV3().getBuilds()\n .call();\n\n if (res.buildsV3Page().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "post": { + "operationId": "CreateBuild", + "summary": "CreateBuild", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatedBuildV3WithMultipartUrls" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build) with optional `multipartUploadUrls` that can be used to upload larger builds in parts before calling `runBuild`. Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build.", + "tags": [ + "BuildsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateMultipartBuildParams" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateBuild", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateBuildRequest req = new CreateBuildRequest() {\n CreateMultipartBuildParams = new CreateMultipartBuildParams() {\n BuildId = \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n BuildTag = \"0.1.14-14c793\",\n BuildSizeInBytes = 2645.24D,\n },\n};\n\n\nusing(var res = await sdk.BuildsV3.CreateBuildAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateBuild", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.buildsV3.createBuild({\n buildId: \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n buildTag: \"0.1.14-14c793\",\n buildSizeInBytes: 2645.24,\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateBuild", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateBuildResponse;\nimport org.openapis.openapi.models.shared.CreateMultipartBuildParams;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateBuildResponse res = sdk.buildsV3().createBuild()\n .createMultipartBuildParams(CreateMultipartBuildParams.builder()\n .buildSizeInBytes(2645.24)\n .buildId(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .buildTag(\"0.1.14-14c793\")\n .build())\n .call();\n\n if (res.createdBuildV3WithMultipartUrls().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/builds/v3/builds/{buildId}": { + "get": { + "operationId": "GetBuild", + "summary": "GetBuild", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BuildV3" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for a [build](https://hathora.dev/docs/concepts/hathora-entities#build).", + "tags": [ + "BuildsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/GlobalBuildId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetBuild", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetBuildRequest req = new GetBuildRequest() {\n BuildId = \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n};\n\n\nusing(var res = await sdk.BuildsV3.GetBuildAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetBuild", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.buildsV3.getBuild(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetBuild", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetBuildResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetBuildResponse res = sdk.buildsV3().getBuild()\n .buildId(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .call();\n\n if (res.buildV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "delete": { + "operationId": "DeleteBuild", + "summary": "DeleteBuild", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletedBuild" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Delete a [build](https://hathora.dev/docs/concepts/hathora-entities#build). All associated metadata is deleted.\nBe careful which builds you delete. This endpoint does not prevent you from deleting actively used builds.\nDeleting a build that is actively build used by an app's deployment will cause failures when creating rooms.", + "tags": [ + "BuildsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/GlobalBuildId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "DeleteBuild", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nDeleteBuildRequest req = new DeleteBuildRequest() {\n BuildId = \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n};\n\n\nusing(var res = await sdk.BuildsV3.DeleteBuildAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "DeleteBuild", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.buildsV3.deleteBuild(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "DeleteBuild", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.DeleteBuildResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n DeleteBuildResponse res = sdk.buildsV3().deleteBuild()\n .buildId(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .call();\n\n if (res.deletedBuild().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/builds/v3/builds/registry": { + "post": { + "operationId": "CreateBuildRegistry", + "summary": "CreateBuildRegistry", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BuildV3" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build) to be used with `runBuildRegistry`. Responds with a `buildId` that you must pass to [`RunBuildRegistry()`](https://hathora.dev/api#tag/BuildV3/operation/RunBuildRegistry) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build.", + "tags": [ + "BuildsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateBuildV3Params" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateBuildRegistry", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateBuildRegistryRequest req = new CreateBuildRegistryRequest() {\n CreateBuildV3Params = new CreateBuildV3Params() {\n BuildId = \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n BuildTag = \"0.1.14-14c793\",\n },\n};\n\n\nusing(var res = await sdk.BuildsV3.CreateBuildRegistryAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateBuildRegistry", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.buildsV3.createBuildRegistry({\n buildId: \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n buildTag: \"0.1.14-14c793\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateBuildRegistry", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateBuildRegistryResponse;\nimport org.openapis.openapi.models.shared.CreateBuildV3Params;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateBuildRegistryResponse res = sdk.buildsV3().createBuildRegistry()\n .createBuildV3Params(CreateBuildV3Params.builder()\n .buildId(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .buildTag(\"0.1.14-14c793\")\n .build())\n .call();\n\n if (res.buildV3().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/builds/v3/builds/{buildId}/run": { + "post": { + "operationId": "RunBuild", + "summary": "RunBuild", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Builds a game server artifact from a tarball you provide. Pass in the `buildId` generated from [`CreateBuild()`](https://hathora.dev/api#tag/BuildV1/operation/CreateBuild).", + "tags": [ + "BuildsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/GlobalBuildId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "RunBuild", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nRunBuildRequest req = new RunBuildRequest() {\n BuildId = \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n};\n\n\nusing(var res = await sdk.BuildsV3.RunBuildAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "RunBuild", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.buildsV3.runBuild(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\");\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "RunBuild", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.RunBuildResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n RunBuildResponse res = sdk.buildsV3().runBuild()\n .buildId(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .call();\n\n if (res.responseStream().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/builds/v3/builds/{buildId}/runRegistry": { + "post": { + "operationId": "RunBuildRegistry", + "summary": "RunBuildRegistry", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Builds a game server artifact from a public or private registry. Pass in the `buildId` generated from [`CreateBuild()`](https://hathora.dev/api#tag/BuildV1/operation/CreateBuild).", + "tags": [ + "BuildsV3" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/GlobalBuildId" + } + }, + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegistryConfig" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "RunBuildRegistry", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nRunBuildRegistryRequest req = new RunBuildRegistryRequest() {\n BuildId = \"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\",\n RegistryConfig = new RegistryConfig() {\n Image = \"https://picsum.photos/seed/3gDPgtj/723/1525\",\n },\n};\n\n\nusing(var res = await sdk.BuildsV3.RunBuildRegistryAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "RunBuildRegistry", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.buildsV3.runBuildRegistry(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\", {\n image: \"https://picsum.photos/seed/3gDPgtj/723/1525\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "RunBuildRegistry", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.RunBuildRegistryResponse;\nimport org.openapis.openapi.models.shared.RegistryConfig;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n RunBuildRegistryResponse res = sdk.buildsV3().runBuildRegistry()\n .buildId(\"bld-6d4c6a71-2d75-4b42-94e1-f312f57f33c5\")\n .registryConfig(RegistryConfig.builder()\n .image(\"https://picsum.photos/seed/3gDPgtj/723/1525\")\n .build())\n .call();\n\n if (res.responseStream().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/billing/v1/balance": { + "get": { + "operationId": "GetBalance", + "summary": "GetBalance", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "number", + "format": "double" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "BillingV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ] + } + }, + "/billing/v1/upcoming/items": { + "get": { + "operationId": "GetUpcomingInvoiceItems", + "summary": "GetUpcomingInvoiceItems", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvoiceItemPage" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "BillingV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetUpcomingInvoiceItems", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetUpcomingInvoiceItemsRequest req = new GetUpcomingInvoiceItemsRequest() {};\n\n\nusing(var res = await sdk.BillingV1.GetUpcomingInvoiceItemsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetUpcomingInvoiceItems", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.billingV1.getUpcomingInvoiceItems();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetUpcomingInvoiceItems", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetUpcomingInvoiceItemsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetUpcomingInvoiceItemsResponse res = sdk.billingV1().getUpcomingInvoiceItems()\n .call();\n\n if (res.invoiceItemPage().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/billing/v1/upcoming/total": { + "get": { + "operationId": "GetUpcomingInvoiceTotal", + "summary": "GetUpcomingInvoiceTotal", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "properties": { + "value": { + "type": "number", + "format": "double" + } + }, + "required": [ + "value" + ], + "type": "object" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "BillingV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetUpcomingInvoiceTotal", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetUpcomingInvoiceTotalRequest req = new GetUpcomingInvoiceTotalRequest() {};\n\n\nusing(var res = await sdk.BillingV1.GetUpcomingInvoiceTotalAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetUpcomingInvoiceTotal", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.billingV1.getUpcomingInvoiceTotal();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetUpcomingInvoiceTotal", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetUpcomingInvoiceTotalResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetUpcomingInvoiceTotalResponse res = sdk.billingV1().getUpcomingInvoiceTotal()\n .call();\n\n if (res.object().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/billing/v1/paymentmethod": { + "get": { + "operationId": "GetPaymentMethod", + "summary": "GetPaymentMethod", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentMethod" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "BillingV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetPaymentMethod", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetPaymentMethodRequest req = new GetPaymentMethodRequest() {};\n\n\nusing(var res = await sdk.BillingV1.GetPaymentMethodAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetPaymentMethod", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.billingV1.getPaymentMethod();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetPaymentMethod", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetPaymentMethodResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetPaymentMethodResponse res = sdk.billingV1().getPaymentMethod()\n .call();\n\n if (res.paymentMethod().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/billing/v1/customerportalurl": { + "post": { + "operationId": "InitStripeCustomerPortalUrl", + "summary": "InitStripeCustomerPortalUrl", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "BillingV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomerPortalUrl" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "InitStripeCustomerPortalUrl", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nInitStripeCustomerPortalUrlRequest req = new InitStripeCustomerPortalUrlRequest() {\n CustomerPortalUrl = new CustomerPortalUrl() {\n ReturnUrl = \"https://sunny-majority.com/\",\n },\n};\n\n\nusing(var res = await sdk.BillingV1.InitStripeCustomerPortalUrlAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "InitStripeCustomerPortalUrl", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.billingV1.initStripeCustomerPortalUrl({\n returnUrl: \"https://sunny-majority.com/\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "InitStripeCustomerPortalUrl", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.InitStripeCustomerPortalUrlResponse;\nimport org.openapis.openapi.models.shared.CustomerPortalUrl;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n InitStripeCustomerPortalUrlResponse res = sdk.billingV1().initStripeCustomerPortalUrl()\n .customerPortalUrl(CustomerPortalUrl.builder()\n .returnUrl(\"https://sunny-majority.com/\")\n .build())\n .call();\n\n if (res.string().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/billing/v1/invoices": { + "get": { + "operationId": "GetInvoices", + "summary": "GetInvoices", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Invoice" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "tags": [ + "BillingV1" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetInvoices", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetInvoicesRequest req = new GetInvoicesRequest() {};\n\n\nusing(var res = await sdk.BillingV1.GetInvoicesAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetInvoices", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.billingV1.getInvoices();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetInvoices", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetInvoicesResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetInvoicesResponse res = sdk.billingV1().getInvoices()\n .call();\n\n if (res.invoices().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/auth/v1/{appId}/login/anonymous": { + "post": { + "operationId": "LoginAnonymous", + "summary": "LoginAnonymous", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlayerTokenObject" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns a unique player token for an anonymous user.", + "tags": [ + "AuthV1" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "LoginAnonymous", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\nLoginAnonymousRequest req = new LoginAnonymousRequest() {};\n\n\nusing(var res = await sdk.AuthV1.LoginAnonymousAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "LoginAnonymous", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n});\n\nasync function run() {\n const result = await hathoraCloud.authV1.loginAnonymous();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "LoginAnonymous", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.LoginAnonymousResponse;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .build();\n\n LoginAnonymousResponse res = sdk.authV1().loginAnonymous()\n .call();\n\n if (res.playerTokenObject().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/auth/v1/{appId}/login/nickname": { + "post": { + "operationId": "LoginNickname", + "summary": "LoginNickname", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlayerTokenObject" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns a unique player token with a specified nickname for a user.", + "tags": [ + "AuthV1" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NicknameObject" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "LoginNickname", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\nLoginNicknameRequest req = new LoginNicknameRequest() {\n NicknameObject = new NicknameObject() {\n Nickname = \"squiddytwoshoes\",\n },\n};\n\n\nusing(var res = await sdk.AuthV1.LoginNicknameAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "LoginNickname", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n});\n\nasync function run() {\n const result = await hathoraCloud.authV1.loginNickname({\n nickname: \"squiddytwoshoes\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "LoginNickname", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.LoginNicknameResponse;\nimport org.openapis.openapi.models.shared.NicknameObject;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .build();\n\n LoginNicknameResponse res = sdk.authV1().loginNickname()\n .nicknameObject(NicknameObject.builder()\n .nickname(\"squiddytwoshoes\")\n .build())\n .call();\n\n if (res.playerTokenObject().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/auth/v1/{appId}/login/google": { + "post": { + "operationId": "LoginGoogle", + "summary": "LoginGoogle", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlayerTokenObject" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns a unique player token using a Google-signed OIDC `idToken`.", + "tags": [ + "AuthV1" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GoogleIdTokenObject" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "LoginGoogle", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\");\n\nLoginGoogleRequest req = new LoginGoogleRequest() {\n GoogleIdTokenObject = new GoogleIdTokenObject() {\n IdToken = \"eyJhbGciOiJSUzI1NiIsImtpZCI6ImZkNDhhNzUxMzhkOWQ0OGYwYWE2MzVlZjU2OWM0ZTE5NmY3YWU4ZDYiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODQ4NDEyODI2Nzg4LW00bXNyYjZxNDRkbTJ1ZTNrZ3Z1aTBmcTdrZGE1NWxzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODQ4NDEyODI2Nzg4LW00bXNyYjZxNDRkbTJ1ZTNrZ3Z1aTBmcTdrZGE1NWxzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0NTQyMzMwNzI3MTU2MTMzNzc2IiwiZW1haWwiOiJocGFdkeivmeuzQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoidno1NGhhdTNxbnVR\",\n },\n};\n\n\nusing(var res = await sdk.AuthV1.LoginGoogleAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "LoginGoogle", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n});\n\nasync function run() {\n const result = await hathoraCloud.authV1.loginGoogle({\n idToken: \"eyJhbGciOiJSUzI1NiIsImtpZCI6ImZkNDhhNzUxMzhkOWQ0OGYwYWE2MzVlZjU2OWM0ZTE5NmY3YWU4ZDYiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODQ4NDEyODI2Nzg4LW00bXNyYjZxNDRkbTJ1ZTNrZ3Z1aTBmcTdrZGE1NWxzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODQ4NDEyODI2Nzg4LW00bXNyYjZxNDRkbTJ1ZTNrZ3Z1aTBmcTdrZGE1NWxzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0NTQyMzMwNzI3MTU2MTMzNzc2IiwiZW1haWwiOiJocGFdkeivmeuzQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoidno1NGhhdTNxbnVR\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "LoginGoogle", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.LoginGoogleResponse;\nimport org.openapis.openapi.models.shared.GoogleIdTokenObject;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .build();\n\n LoginGoogleResponse res = sdk.authV1().loginGoogle()\n .googleIdTokenObject(GoogleIdTokenObject.builder()\n .idToken(\"eyJhbGciOiJSUzI1NiIsImtpZCI6ImZkNDhhNzUxMzhkOWQ0OGYwYWE2MzVlZjU2OWM0ZTE5NmY3YWU4ZDYiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODQ4NDEyODI2Nzg4LW00bXNyYjZxNDRkbTJ1ZTNrZ3Z1aTBmcTdrZGE1NWxzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODQ4NDEyODI2Nzg4LW00bXNyYjZxNDRkbTJ1ZTNrZ3Z1aTBmcTdrZGE1NWxzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0NTQyMzMwNzI3MTU2MTMzNzc2IiwiZW1haWwiOiJocGFdkeivmeuzQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoidno1NGhhdTNxbnVR\")\n .build())\n .call();\n\n if (res.playerTokenObject().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/apps/v1/list": { + "get": { + "operationId": "GetAppsV1Deprecated", + "summary": "GetAppsV1Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/ApplicationWithLatestDeploymentAndBuildDeprecated" + }, + "type": "array" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an unsorted list of your organization’s [applications](https://hathora.dev/docs/concepts/hathora-entities#application). An application is uniquely identified by an `appId`.", + "tags": [ + "AppV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [], + "x-speakeasy-group": "AppsV1" + } + }, + "/apps/v1/create": { + "post": { + "operationId": "CreateAppV1Deprecated", + "summary": "CreateAppV1Deprecated", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Application" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "AppV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAppConfig" + } + } + } + }, + "x-speakeasy-group": "AppsV1" + } + }, + "/apps/v1/update/{appId}": { + "post": { + "operationId": "UpdateAppV1Deprecated", + "summary": "UpdateAppV1Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Application" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Update data for an existing [application](https://hathora.dev/docs/concepts/hathora-entities#application) using `appId`.", + "tags": [ + "AppV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAppConfig" + } + } + } + }, + "x-speakeasy-group": "AppsV1" + } + }, + "/apps/v1/info/{appId}": { + "get": { + "operationId": "GetAppInfoV1Deprecated", + "summary": "GetAppInfoV1Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Application" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for an [application](https://hathora.dev/docs/concepts/hathora-entities#application) using `appId`.", + "tags": [ + "AppV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-speakeasy-group": "AppsV1" + } + }, + "/apps/v1/delete/{appId}": { + "delete": { + "operationId": "DeleteAppV1Deprecated", + "summary": "DeleteAppV1Deprecated", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Delete an [application](https://hathora.dev/docs/concepts/hathora-entities#application) using `appId`. Your organization will lose access to this application.", + "tags": [ + "AppV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-speakeasy-group": "AppsV1" + } + }, + "/apps/v2/apps": { + "get": { + "operationId": "GetApps", + "summary": "GetApps", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationsPage" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Returns an unsorted list of your organization’s [applications](https://hathora.dev/docs/concepts/hathora-entities#application). An application is uniquely identified by an `appId`.", + "tags": [ + "AppsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetApps", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetAppsRequest req = new GetAppsRequest() {};\n\n\nusing(var res = await sdk.AppsV2.GetAppsAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetApps", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.appsV2.getApps();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetApps", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetAppsResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetAppsResponse res = sdk.appsV2().getApps()\n .call();\n\n if (res.applicationsPage().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "post": { + "operationId": "CreateApp", + "summary": "CreateApp", + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Application" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Create a new [application](https://hathora.dev/docs/concepts/hathora-entities#application).", + "tags": [ + "AppsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "orgId", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAppConfig" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "CreateApp", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nCreateAppRequest req = new CreateAppRequest() {\n CreateAppConfig = new CreateAppConfig() {\n AuthConfiguration = new AuthConfiguration() {},\n AppName = \"minecraft\",\n },\n};\n\n\nusing(var res = await sdk.AppsV2.CreateAppAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "CreateApp", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n orgId: \"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.appsV2.createApp({\n authConfiguration: {},\n appName: \"minecraft\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "CreateApp", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.CreateAppResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .orgId(\"org-6f706e83-0ec1-437a-9a46-7d4281eb2f39\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n CreateAppResponse res = sdk.appsV2().createApp()\n .createAppConfig(CreateAppConfig.builder()\n .authConfiguration(AuthConfiguration.builder()\n .build())\n .appName(\"minecraft\")\n .build())\n .call();\n\n if (res.application().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + } + }, + "/apps/v2/apps/{appId}": { + "post": { + "operationId": "UpdateApp", + "summary": "UpdateApp", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Application" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Set application config (will override all fields) for an existing [application](https://hathora.dev/docs/concepts/hathora-entities#application) using `appId`.", + "tags": [ + "AppsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppConfigWithServiceConfig" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "UpdateApp", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nUpdateAppRequest req = new UpdateAppRequest() {\n AppConfigWithServiceConfig = new AppConfigWithServiceConfig() {\n ServiceConfig = new ServiceConfigWrite() {\n StaticProcessAllocation = new List() {\n new StaticProcessAllocationConfigWrite() {\n MaxProcesses = 3,\n TargetProcesses = 2,\n MinProcesses = 1,\n Region = Region.SaoPaulo,\n },\n },\n },\n AuthConfiguration = new AuthConfiguration() {},\n AppName = \"minecraft\",\n },\n};\n\n\nusing(var res = await sdk.AppsV2.UpdateAppAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "UpdateApp", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.appsV2.updateApp({\n serviceConfig: {\n staticProcessAllocation: [\n {\n maxProcesses: 3,\n targetProcesses: 2,\n minProcesses: 1,\n region: \"Sao_Paulo\",\n },\n ],\n },\n authConfiguration: {},\n appName: \"minecraft\",\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "UpdateApp", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport java.util.List;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.UpdateAppResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n UpdateAppResponse res = sdk.appsV2().updateApp()\n .appConfigWithServiceConfig(AppConfigWithServiceConfig.builder()\n .authConfiguration(AuthConfiguration.builder()\n .build())\n .appName(\"minecraft\")\n .serviceConfig(ServiceConfigWrite.builder()\n .staticProcessAllocation(List.of(\n StaticProcessAllocationConfigWrite.builder()\n .maxProcesses(3)\n .minProcesses(1)\n .region(Region.SAO_PAULO)\n .targetProcesses(2)\n .build()))\n .build())\n .build())\n .call();\n\n if (res.application().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "patch": { + "operationId": "PatchApp", + "summary": "PatchApp", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Application" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Patch data for an existing [application](https://hathora.dev/docs/concepts/hathora-entities#application) using `appId`.", + "tags": [ + "AppsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Partial_AppConfigWithServiceConfig_" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "unity", + "label": "PatchApp", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\nusing System.Collections.Generic;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nPatchAppRequest req = new PatchAppRequest() {\n PartialAppConfigWithServiceConfig = new PartialAppConfigWithServiceConfig() {\n ServiceConfig = new ServiceConfigWrite() {\n StaticProcessAllocation = new List() {\n new StaticProcessAllocationConfigWrite() {\n MaxProcesses = 3,\n TargetProcesses = 2,\n MinProcesses = 1,\n Region = Region.Tokyo,\n },\n },\n },\n },\n};\n\n\nusing(var res = await sdk.AppsV2.PatchAppAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "PatchApp", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.appsV2.patchApp({\n serviceConfig: {\n staticProcessAllocation: [\n {\n maxProcesses: 3,\n targetProcesses: 2,\n minProcesses: 1,\n region: \"Tokyo\",\n },\n ],\n },\n });\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "PatchApp", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport java.util.List;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.PatchAppResponse;\nimport org.openapis.openapi.models.shared.*;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n PatchAppResponse res = sdk.appsV2().patchApp()\n .partialAppConfigWithServiceConfig(PartialAppConfigWithServiceConfig.builder()\n .serviceConfig(ServiceConfigWrite.builder()\n .staticProcessAllocation(List.of(\n StaticProcessAllocationConfigWrite.builder()\n .maxProcesses(3)\n .minProcesses(1)\n .region(Region.TOKYO)\n .targetProcesses(2)\n .build()))\n .build())\n .build())\n .call();\n\n if (res.application().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "get": { + "operationId": "GetApp", + "summary": "GetApp", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Application" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Get details for an [application](https://hathora.dev/docs/concepts/hathora-entities#application) using `appId`.", + "tags": [ + "AppsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "GetApp", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nGetAppRequest req = new GetAppRequest() {};\n\n\nusing(var res = await sdk.AppsV2.GetAppAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "GetApp", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n const result = await hathoraCloud.appsV2.getApp();\n\n console.log(result);\n}\n\nrun();" + }, + { + "lang": "java", + "label": "GetApp", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.GetAppResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n GetAppResponse res = sdk.appsV2().getApp()\n .call();\n\n if (res.application().isPresent()) {\n // handle response\n }\n }\n}" + } + ] + }, + "delete": { + "operationId": "DeleteApp", + "summary": "DeleteApp", + "responses": { + "204": { + "description": "No content" + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Delete an [application](https://hathora.dev/docs/concepts/hathora-entities#application) using `appId`. Your organization will lose access to this application.", + "tags": [ + "AppsV2" + ], + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + } + ], + "x-codeSamples": [ + { + "lang": "unity", + "label": "DeleteApp", + "source": "using HathoraCloud;\nusing HathoraCloud.Models.Shared;\nusing HathoraCloud.Models.Operations;\n\nvar sdk = new HathoraCloudSDK(\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n security: new Security() {\n HathoraDevToken = \"\",\n });\n\nDeleteAppRequest req = new DeleteAppRequest() {};\n\n\nusing(var res = await sdk.AppsV2.DeleteAppAsync(req))\n{\n // handle response\n}" + }, + { + "lang": "typescript", + "label": "DeleteApp", + "source": "import { HathoraCloud } from \"@hathora/cloud-sdk-typescript\";\n\nconst hathoraCloud = new HathoraCloud({\n appId: \"app-af469a92-5b45-4565-b3c4-b79878de67d2\",\n hathoraDevToken: \"\",\n});\n\nasync function run() {\n await hathoraCloud.appsV2.deleteApp();\n\n\n}\n\nrun();" + }, + { + "lang": "java", + "label": "DeleteApp", + "source": "package hello.world;\n\nimport java.lang.Exception;\nimport org.openapis.openapi.HathoraCloud;\nimport org.openapis.openapi.models.errors.ApiError;\nimport org.openapis.openapi.models.operations.DeleteAppResponse;\nimport org.openapis.openapi.models.shared.Security;\n\npublic class Application {\n\n public static void main(String[] args) throws ApiError, Exception {\n\n HathoraCloud sdk = HathoraCloud.builder()\n .appId(\"app-af469a92-5b45-4565-b3c4-b79878de67d2\")\n .security(Security.builder()\n .hathoraDevToken(System.getenv().getOrDefault(\"HATHORA_DEV_TOKEN\", \"\"))\n .build())\n .build();\n\n DeleteAppResponse res = sdk.appsV2().deleteApp()\n .call();\n\n // handle response\n }\n}" + } + ] + } + }, + "/builds/v1/{appId}/run/{buildId}": { + "post": { + "operationId": "RunBuildDeprecated", + "summary": "RunBuildDeprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "text/plain": { + "schema": { + "type": "string", + "format": "byte" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Builds a game server artifact from a tarball you provide. Pass in the `buildId` generated from [`CreateBuild()`](https://hathora.dev/api#tag/BuildV1/operation/CreateBuild).", + "tags": [ + "BuildV1" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/BuildId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + } + }, + "required": [ + "file" + ] + } + } + } + }, + "x-speakeasy-group": "BuildsV1" + } + }, + "/builds/v2/{appId}/run/{buildId}": { + "post": { + "operationId": "RunBuildV2Deprecated", + "summary": "RunBuildV2Deprecated", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "408": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "422": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "429": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } + }, + "description": "Builds a game server artifact from a tarball you provide. Pass in the `buildId` generated from [`CreateBuild()`](https://hathora.dev/api#tag/BuildV1/operation/CreateBuild).", + "tags": [ + "BuildV2" + ], + "deprecated": true, + "security": [ + { + "hathoraDevToken": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "appId", + "required": true, + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "buildId", + "required": true, + "schema": { + "$ref": "#/components/schemas/BuildId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + } + } + } + } + } + }, + "x-speakeasy-group": "BuildsV2" + } + } + }, + "tags": [ + { + "name": "AppsV2", + "description": "Operations that allow you manage your [applications](https://hathora.dev/docs/concepts/hathora-entities#application)." + }, + { + "name": "AppV1", + "description": "Deprecated. Use [AppsV2](https://hathora.dev/api#tag/AppsV2)." + }, + { + "name": "AuthV1", + "description": "Operations that allow you to generate a Hathora-signed [JSON web token (JWT)](https://jwt.io/) for [player authentication](https://hathora.dev/docs/lobbies-and-matchmaking/auth-service)." + }, + { + "name": "BillingV1", + "description": " " + }, + { + "name": "BuildsV3", + "description": "Operations that allow you create and manage your [builds](https://hathora.dev/docs/concepts/hathora-entities#build)." + }, + { + "name": "BuildV2", + "description": "Deprecated. Use [BuildsV3](https://hathora.dev/api#tag/BuildsV3)." + }, + { + "name": "BuildV1", + "description": "Deprecated. Use [BuildsV3](https://hathora.dev/api#tag/BuildsV3)." + }, + { + "name": "DeploymentsV3", + "description": "Operations that allow you configure and manage an application's [build](https://hathora.dev/docs/concepts/hathora-entities#build) at runtime." + }, + { + "name": "DeploymentV2", + "description": "Deprecated. Use [DeploymentsV3](https://hathora.dev/api#tag/DeploymentsV3)." + }, + { + "name": "DeploymentV1", + "description": "Deprecated. Use [DeploymentsV3](https://hathora.dev/api#tag/DeploymentsV3)." + }, + { + "name": "DiscoveryV2", + "description": "Service that allows clients to directly ping all Hathora regions to get latency information" + }, + { + "name": "DiscoveryV1", + "description": "Deprecated. Does not include latest Regions (missing Dallas region). Use [DiscoveryV2](https://hathora.dev/api#tag/DiscoveryV2)." + }, + { + "name": "FleetsV1", + "description": "Operations to manage and view a [fleet](https://hathora.dev/docs/concepts/hathora-entities#fleet)." + }, + { + "name": "LobbyV3SDK", + "description": "Operations to create and manage lobbies using our [Lobby Service](https://hathora.dev/docs/backend-integrations/lobbies-and-matchmaking/lobby-service)." + }, + { + "name": "LobbyV2", + "description": "Deprecated. Use [LobbyV3](https://hathora.dev/api#tag/LobbyV3)." + }, + { + "name": "LobbyV1", + "description": "Deprecated. Use [LobbyV3](https://hathora.dev/api#tag/LobbyV3)." + }, + { + "name": "LogV1", + "description": "Operations to get logs by [applications](https://hathora.dev/docs/concepts/hathora-entities#application), [processes](https://hathora.dev/docs/concepts/hathora-entities#process), and [deployments](https://hathora.dev/docs/concepts/hathora-entities#deployment). We store 20GB of logs data." + }, + { + "name": "ManagementV1", + "description": " " + }, + { + "name": "MetricsV1", + "description": "Deprecated. Use [ProcessesV3#GetProcessMetrics](https://hathora.dev/api#tag/ProcessesV3/operation/GetProcessMetrics) to fetch metrics about a specific process." + }, + { + "name": "ProcessesV3", + "description": "Operations to get data on active and stopped [processes](https://hathora.dev/docs/concepts/hathora-entities#process)." + }, + { + "name": "ProcessesV2", + "description": "Deprecated. Use [ProcessesV3](https://hathora.dev/api#tag/ProcessesV3)." + }, + { + "name": "ProcessesV1", + "description": "Deprecated. Use [ProcessesV3](https://hathora.dev/api#tag/ProcessesV3)." + }, + { + "name": "RoomV2", + "description": "Operations to create, manage, and connect to [rooms](https://hathora.dev/docs/concepts/hathora-entities#room)." + }, + { + "name": "RoomV1", + "description": "Deprecated. Use [RoomV2](https://hathora.dev/api#tag/RoomV2)." + }, + { + "name": "TokensV1", + "description": " " + } + ], + "x-speakeasy-globals": { + "parameters": [ + { + "in": "path", + "name": "appId", + "schema": { + "$ref": "#/components/schemas/AppId" + } + }, + { + "in": "path", + "name": "orgId", + "schema": { + "$ref": "#/components/schemas/OrgId" + } + }, + { + "in": "query", + "name": "orgId", + "schema": { + "$ref": "#/components/schemas/OrgId" + } + } + ] + } +} \ No newline at end of file