{ "opencollection": "1.0.0", "info": { "name": "Hathora Cloud API", "version": "3.0" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "AuthV1", "type": "folder" }, "items": [ { "info": { "name": "Returns a unique player token for an anonymous user.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/auth/v1/{appId}/login/anonymous" }, "docs": "Returns a unique player token for an anonymous user." }, { "info": { "name": "Returns a unique player token with a specified nickname.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/auth/v1/{appId}/login/nickname", "body": { "type": "json", "data": "{}" } }, "docs": "Returns a unique player token with a specified nickname." }, { "info": { "name": "Returns a unique player token using a Google-signed OIDC idToken.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/auth/v1/{appId}/login/google", "body": { "type": "json", "data": "{}" } }, "docs": "Returns a unique player token using a Google-signed OIDC idToken." } ] }, { "info": { "name": "AppsV2", "type": "folder" }, "items": [ { "info": { "name": "Returns an unsorted list of your organization's applications.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/apps/v2/list" }, "docs": "Returns an unsorted list of your organization's applications." }, { "info": { "name": "Create a new application.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/apps/v2/create", "body": { "type": "json", "data": "{}" } }, "docs": "Create a new application." }, { "info": { "name": "Update data for an existing application.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/apps/v2/update/{appId}", "body": { "type": "json", "data": "{}" } }, "docs": "Update data for an existing application." }, { "info": { "name": "Get details for an application.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/apps/v2/info/{appId}" }, "docs": "Get details for an application." }, { "info": { "name": "Delete an application using appId. Your organization will lose access.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.hathora.dev/apps/v2/delete/{appId}" }, "docs": "Delete an application using appId. Your organization will lose access." } ] }, { "info": { "name": "BuildsV3", "type": "folder" }, "items": [ { "info": { "name": "Returns an array of builds for an application.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/builds/v3/{appId}/list" }, "docs": "Returns an array of builds for an application." }, { "info": { "name": "Creates a new build. Responds with a buildId that you must pass to RunBuild.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/builds/v3/{appId}/create", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new build. Responds with a buildId that you must pass to RunBuild." }, { "info": { "name": "Builds a game server artifact from a tarball you provide.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/builds/v3/{appId}/run/{buildId}", "body": { "type": "multipart-form", "data": [] } }, "docs": "Builds a game server artifact from a tarball you provide." }, { "info": { "name": "Get details for a build.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/builds/v3/{appId}/info/{buildId}" }, "docs": "Get details for a build." }, { "info": { "name": "Delete a build. All associated metadata is deleted.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.hathora.dev/builds/v3/{appId}/delete/{buildId}" }, "docs": "Delete a build. All associated metadata is deleted." } ] }, { "info": { "name": "DeploymentsV3", "type": "folder" }, "items": [ { "info": { "name": "Returns an array of deployments for an application.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/deployments/v3/{appId}/list" }, "docs": "Returns an array of deployments for an application." }, { "info": { "name": "Create a new deployment. All new processes for the app will use the latest deployment configuration.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/deployments/v3/{appId}/create/{buildId}", "body": { "type": "json", "data": "{}" } }, "docs": "Create a new deployment. All new processes for the app will use the latest deployment configuration." }, { "info": { "name": "Get the latest deployment for an application.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/deployments/v3/{appId}/latest" }, "docs": "Get the latest deployment for an application." }, { "info": { "name": "Get details for a deployment.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/deployments/v3/{appId}/info/{deploymentId}" }, "docs": "Get details for a deployment." } ] }, { "info": { "name": "ProcessesV3", "type": "folder" }, "items": [ { "info": { "name": "Retrieve the latest process objects for an application.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/processes/v3/{appId}/list/latest" }, "docs": "Retrieve the latest process objects for an application." }, { "info": { "name": "Start a new process in a specific region.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/processes/v3/{appId}/create", "body": { "type": "json", "data": "{}" } }, "docs": "Start a new process in a specific region." }, { "info": { "name": "Get details for a process.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/processes/v3/{appId}/info/{processId}" }, "docs": "Get details for a process." }, { "info": { "name": "Stop a running process.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/processes/v3/{appId}/stop/{processId}" }, "docs": "Stop a running process." } ] }, { "info": { "name": "RoomsV2", "type": "folder" }, "items": [ { "info": { "name": "Create a new room for an application.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/rooms/v2/{appId}/create", "body": { "type": "json", "data": "{}" } }, "docs": "Create a new room for an application." }, { "info": { "name": "Get details for a room.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/rooms/v2/{appId}/info/{roomId}" }, "docs": "Get details for a room." }, { "info": { "name": "Poll this endpoint to get connection details for an active room.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/rooms/v2/{appId}/connectioninfo/{roomId}" }, "docs": "Poll this endpoint to get connection details for an active room." }, { "info": { "name": "Destroy a room. All associated metadata is deleted.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/rooms/v2/{appId}/destroy/{roomId}" }, "docs": "Destroy a room. All associated metadata is deleted." } ] }, { "info": { "name": "DiscoveryV2", "type": "folder" }, "items": [ { "info": { "name": "Returns an array of all regions with a host and port that a client can directly ping for latency-based routing.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/discovery/v2/ping" }, "docs": "Returns an array of all regions with a host and port that a client can directly ping for latency-based routing." } ] }, { "info": { "name": "LogsV1", "type": "folder" }, "items": [ { "info": { "name": "Returns a stream of logs for a process using appId and processId.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/logs/v1/{appId}/process/{processId}" }, "docs": "Returns a stream of logs for a process using appId and processId." }, { "info": { "name": "Download the log file for a stopped process.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/logs/v1/{appId}/process/{processId}/download" }, "docs": "Download the log file for a stopped process." } ] }, { "info": { "name": "MetricsV1", "type": "folder" }, "items": [ { "info": { "name": "Get metrics for a process using appId and processId.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/metrics/v1/{appId}/process/{processId}" }, "docs": "Get metrics for a process using appId and processId." } ] }, { "info": { "name": "BillingV1", "type": "folder" }, "items": [ { "info": { "name": "Get the current account balance.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/billing/v1/balance" }, "docs": "Get the current account balance." }, { "info": { "name": "Retrieve invoice history.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/billing/v1/invoices" }, "docs": "Retrieve invoice history." }, { "info": { "name": "Get stored payment method details.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/billing/v1/paymentmethod" }, "docs": "Get stored payment method details." }, { "info": { "name": "Initialize a Stripe customer portal URL.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/billing/v1/customerportalurl" }, "docs": "Initialize a Stripe customer portal URL." } ] }, { "info": { "name": "TokensV1", "type": "folder" }, "items": [ { "info": { "name": "Returns an unsorted list of an organization's API tokens.", "type": "http" }, "http": { "method": "GET", "url": "https://api.hathora.dev/tokens/v1/{orgId}/list" }, "docs": "Returns an unsorted list of an organization's API tokens." }, { "info": { "name": "Create a new organization API token.", "type": "http" }, "http": { "method": "POST", "url": "https://api.hathora.dev/tokens/v1/{orgId}/create", "body": { "type": "json", "data": "{}" } }, "docs": "Create a new organization API token." }, { "info": { "name": "Revoke an organization API token.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.hathora.dev/tokens/v1/{orgId}/revoke/{orgTokenId}" }, "docs": "Revoke an organization API token." } ] } ] }