openapi: 3.0.1 info: title: Edgegap Arbitrium App Versions Relays API description: Representative OpenAPI description of the Edgegap Arbitrium REST API for distributed edge game-server orchestration. Covers applications, application versions, deployments, sessions, matchmaking, relays/networking, metrics, and private fleets. Auto-deploy dedicated game servers to Edgegap's global network of edge locations. This document is a faithful, representative subset authored for cataloging; consult the official Edgegap documentation for the complete, authoritative reference. termsOfService: https://edgegap.com/terms-of-service/ contact: name: Edgegap Support url: https://edgegap.com/contact/ version: '1.0' servers: - url: https://api.edgegap.com description: Edgegap Arbitrium Management API security: - AuthToken: [] tags: - name: Relays description: Distributed relay sessions and per-user authorization. paths: /v1/relays/sessions: get: operationId: listRelaySessions tags: - Relays summary: List relay sessions responses: '200': description: OK post: operationId: createRelaySession tags: - Relays summary: Create relay session description: Creates a distributed relay session with users and an optional webhook_url. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RelaySessionCreate' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RelaySession' /v1/relays/sessions/{session_id}: get: operationId: getRelaySession tags: - Relays summary: Get relay session parameters: - $ref: '#/components/parameters/SessionId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RelaySession' delete: operationId: deleteRelaySession tags: - Relays summary: Delete relay session parameters: - $ref: '#/components/parameters/SessionId' responses: '200': description: OK /v1/relays/sessions:authorize-user: post: operationId: authorizeRelayUser tags: - Relays summary: Authorize relay user description: Grants a user access to a relay session (requires session_id and user_ip). requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string user_ip: type: string responses: '200': description: OK /v1/relays/sessions:revoke-user: post: operationId: revokeRelayUser tags: - Relays summary: Revoke relay user description: Removes a user's access to a relay session. requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string authorization_token: type: string responses: '200': description: OK components: schemas: RelaySessionCreate: type: object properties: webhook_url: type: string users: type: array items: type: object properties: ip: type: string RelaySession: type: object properties: session_id: type: string status: type: string relays: type: array items: type: object properties: host: type: string port: type: integer parameters: SessionId: name: session_id in: path required: true schema: type: string securitySchemes: AuthToken: type: apiKey in: header name: Authorization description: 'API token generated in the Edgegap dashboard (User Settings / Tokens), sent as `Authorization: token `.'