openapi: 3.0.3 info: title: Hathora Cloud AppsV2 API description: Hathora Cloud is on-demand, globally distributed compute for multiplayer game servers. Use the Hathora Cloud API to manage applications, upload and run game server builds, configure deployments, launch and stop processes, create and manage rooms, discover ping endpoints, stream logs, read process metrics, and manage organization tokens and billing. Player-facing authentication issues short-lived player tokens for use with room and lobby endpoints. termsOfService: https://hathora.dev/terms-of-service contact: name: Hathora Support url: https://hathora.dev email: support@hathora.dev version: '3.0' servers: - url: https://api.hathora.dev description: Hathora Cloud production API security: - hathoraDevToken: [] tags: - name: AppsV2 description: Create and manage your organization's applications. paths: /apps/v2/list: get: operationId: GetApps tags: - AppsV2 summary: Returns an unsorted list of your organization's applications. parameters: - $ref: '#/components/parameters/OrgIdQuery' responses: '200': description: A list of applications. content: application/json: schema: type: array items: $ref: '#/components/schemas/Application' /apps/v2/create: post: operationId: CreateApp tags: - AppsV2 summary: Create a new application. parameters: - $ref: '#/components/parameters/OrgIdQuery' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AppConfig' responses: '201': description: Application created. content: application/json: schema: $ref: '#/components/schemas/Application' /apps/v2/update/{appId}: post: operationId: UpdateApp tags: - AppsV2 summary: Update data for an existing application. parameters: - $ref: '#/components/parameters/AppId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AppConfig' responses: '200': description: Application updated. content: application/json: schema: $ref: '#/components/schemas/Application' /apps/v2/info/{appId}: get: operationId: GetApp tags: - AppsV2 summary: Get details for an application. parameters: - $ref: '#/components/parameters/AppId' responses: '200': description: Application details. content: application/json: schema: $ref: '#/components/schemas/Application' '404': $ref: '#/components/responses/NotFound' /apps/v2/delete/{appId}: delete: operationId: DeleteApp tags: - AppsV2 summary: Delete an application using appId. Your organization will lose access. parameters: - $ref: '#/components/parameters/AppId' responses: '204': description: Application deleted. '404': $ref: '#/components/responses/NotFound' components: responses: NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ApiError' schemas: AppConfig: type: object required: - appName properties: appName: type: string example: minecraft authConfiguration: type: object description: Configuration for player auth providers. ApiError: type: object properties: message: type: string Application: type: object properties: appId: type: string appName: type: string orgId: type: string createdAt: type: string format: date-time deletedAt: type: string format: date-time nullable: true parameters: OrgIdQuery: name: orgId in: query required: false schema: type: string AppId: name: appId in: path required: true description: The unique identifier for an application. schema: type: string example: app-af469a92-5b45-4565-b3c4-b79878de67d2 securitySchemes: hathoraDevToken: type: http scheme: bearer bearerFormat: JWT description: Organization developer/API token used for management endpoints (apps, builds, deployments, processes, rooms, logs, metrics, billing, tokens). playerAuth: type: http scheme: bearer bearerFormat: JWT description: Short-lived player token issued by the AuthV1 login endpoints, used by game clients for room and lobby operations.