info: title: realms basic version: '1.0' contact: name: Beamable Support url: https://api.beamable.com email: support@beamable.com servers: - url: https://api.beamable.com paths: /basic/realms/customer/activate: get: responses: '200': description: '' content: text/html: schema: $ref: '#/components/schemas/HtmlResponse' '400': description: Bad Request parameters: - name: token in: query schema: type: string required: true - name: cid in: query schema: type: integer format: int64 required: true security: - {} parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/project/beamable: post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProjectRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/customer/alias/available: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/AliasAvailableResponse' '400': description: Bad Request parameters: - name: alias in: query schema: type: string required: true security: - {} parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/project: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ProjectView' '400': description: Bad Request security: - {} post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProjectRequest' security: - user: - developer - server: [] put: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/UnarchiveProjectRequest' security: - user: - developer - server: [] delete: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/ArchiveProjectRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/customer/verify: post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/NewCustomerResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/NewCustomerRequest' security: - {} parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/games: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetGameResponse' '400': description: Bad Request security: - user: - tester - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/config: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/RealmConfigResponse' '400': description: Bad Request security: - user: - tester - server: [] post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/RealmConfigChangeRequest' security: - user: - developer - server: [] put: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/RealmConfigSaveRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/project/rename: put: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/RenameProjectRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/plans: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ServicePlansResponse' '400': description: Bad Request security: - user: - tester - server: [] post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePlanRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/client/defaults: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/RealmConfiguration' '400': description: Bad Request security: - {} parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/customer: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CustomerViewResponse' '400': description: Bad Request security: - user: - tester - server: [] post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/NewCustomerResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/NewCustomerRequest' security: - {} parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/admin/inflight/failures: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/InFlightFailureResponse' '400': description: Bad Request parameters: - name: serviceObjectId in: query schema: type: string required: false - name: serviceName in: query schema: type: string required: true security: - user: - developer - server: [] delete: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchDeleteInFlightRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/launch-message: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/LaunchMessageListResponse' '400': description: Bad Request security: - user: - tester - server: [] post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateLaunchMessageRequest' security: - user: - developer - server: [] delete: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/RemoveLaunchMessageRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/is-customer: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' '400': description: Bad Request security: - {} parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/admin/customer: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CustomerResponse' '400': description: Bad Request security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/game: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetGameResponse' '400': description: Bad Request parameters: - name: rootPID in: query schema: type: string x-beamable-semantic-type: Pid required: true security: - user: - tester - server: [] post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/NewGameRequest' security: - user: - developer - server: [] put: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CommonResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateGameHierarchyRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/project/promote: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PromoteRealmResponseOld' '400': description: Bad Request parameters: - name: sourcePid in: query schema: type: string x-beamable-semantic-type: Pid required: true - name: promotions in: query schema: type: array items: type: string format: blah required: false - name: contentManifestIds in: query schema: type: array items: type: string format: blah required: false security: - user: - tester - server: [] post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PromoteRealmResponseOld' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/PromoteRealmRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/customers: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CustomersResponse' '400': description: Bad Request security: - {} parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false /basic/realms/promotion: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PromoteRealmResponse' '400': description: Bad Request parameters: - name: sourcePid in: query schema: type: string x-beamable-semantic-type: Pid required: true - name: promotions in: query schema: type: array items: type: string format: blah required: false - name: contentManifestIds in: query schema: type: array items: type: string format: blah required: false security: - user: - tester - server: [] post: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PromoteRealmResponse' '400': description: Bad Request requestBody: content: application/json: schema: $ref: '#/components/schemas/PromoteRealmRequest' security: - user: - developer - server: [] parameters: - name: X-BEAM-SCOPE in: header schema: type: string description: Customer and project scope. This should be in the form of '.'. required: true - name: X-BEAM-GAMERTAG in: header schema: type: string description: Override the Gamer Tag of the player. This is generally inferred by the auth token. required: false components: schemas: Promotable: type: object additionalProperties: false properties: checksum: type: string createdAt: type: integer format: int64 required: - checksum - createdAt ArchiveProjectRequest: properties: pid: type: string x-beamable-semantic-type: Pid additionalProperties: false title: Archive Project Request type: object required: - pid InFlightMessage: type: object additionalProperties: false properties: method: type: string body: type: string path: type: string gamerTag: type: integer format: int64 limitFailureRetries: type: boolean shard: type: string service: type: string id: type: string required: - service - id - method - path - body UpdateGameHierarchyRequest: properties: rootPID: type: string x-beamable-semantic-type: Pid projects: type: array items: $ref: '#/components/schemas/ProjectView' additionalProperties: false title: Update Game Hierarchy Request type: object required: - rootPID - projects LaunchMessageListResponse: properties: files: type: array items: type: string additionalProperties: false title: Launch Message List Response type: object required: - files CustomerResponse: properties: customer: $ref: '#/components/schemas/Customer' additionalProperties: false title: Customer Response type: object required: - customer CustomersResponse: properties: result: type: array items: $ref: '#/components/schemas/Customer' additionalProperties: false title: Customers Response type: object required: - result CreatePlanRequest: properties: name: type: string messageBusAnalytics: type: array items: type: string mongoSrvAddress: type: string memcachedHosts: type: string mongoSSL: type: boolean platformJBDC: type: string sharded: type: boolean mongoHosts: type: string messageBusCommon: type: array items: type: string redisShards: type: array items: $ref: '#/components/schemas/RedisShardRequest' additionalProperties: false title: Create Plan Request type: object required: - name - mongoHosts - sharded - mongoSSL - platformJBDC - memcachedHosts - redisShards ContentLimits: type: object additionalProperties: false properties: maxDistinctContentIds: type: integer format: int32 ServiceLimits: type: object additionalProperties: false properties: beamo: $ref: '#/components/schemas/BeamoLimits' content: $ref: '#/components/schemas/ContentLimits' gateway: $ref: '#/components/schemas/GatewayLimits' CommonResponse: properties: result: type: string data: type: object additionalProperties: type: string additionalProperties: false title: Common Response type: object required: - result - data FailedInFlightFilterRequest: properties: serviceObjectId: type: string serviceName: type: string additionalProperties: false title: Failed In Flight Filter Request type: object required: - serviceName GatewayLimits: type: object additionalProperties: false properties: maxConcurrentRequests: type: integer format: int32 required: - maxConcurrentRequests RealmConfigChangeRequest: properties: upserts: type: object additionalProperties: type: string deletes: type: array items: type: string additionalProperties: false title: Realm Config Change Request type: object RealmConfiguration: properties: websocketConfig: $ref: '#/components/schemas/WebSocketConfiguration' microserviceURI: type: string portalURI: type: string microserviceEcrURI: type: string storageBrowserURI: type: string environment: type: string additionalProperties: false title: Realm Configuration type: object required: - environment - websocketConfig - microserviceURI - microserviceEcrURI - portalURI - storageBrowserURI NewCustomerRequest: properties: projectName: type: string email: type: string customerName: type: string hierarchy: type: boolean alias: type: string password: type: string additionalProperties: false title: New Customer Request type: object required: - projectName - email - password PromoteRealmResponseOld: properties: sourcePid: type: string promotions: type: array items: $ref: '#/components/schemas/RealmPromotion' additionalProperties: false title: Promote Realm Response Old type: object required: - sourcePid - promotions CustomerView: type: object additionalProperties: false properties: cid: type: integer format: int64 x-beamable-semantic-type: Cid name: type: string alias: type: string projects: type: array items: $ref: '#/components/schemas/ProjectView' required: - cid - name - projects GetGameResponse: properties: projects: type: array items: $ref: '#/components/schemas/ProjectView' additionalProperties: false title: Get Game Response type: object required: - projects PromoteRealmRequest: properties: sourcePid: type: string x-beamable-semantic-type: Pid promotions: type: array items: type: string contentManifestIds: type: array items: type: string additionalProperties: false title: Promote Realm Request type: object required: - sourcePid CreateLaunchMessageRequest: properties: name: type: string body: type: string additionalProperties: false title: Create Launch Message Request type: object required: - name - body RealmConfigSaveRequest: properties: config: type: object additionalProperties: type: string additionalProperties: false title: Realm Config Save Request type: object required: - config InFlightFailureResponse: properties: failures: type: array items: $ref: '#/components/schemas/InFlightFailure' additionalProperties: false title: In Flight Failure Response type: object required: - failures PromotionScope: type: object additionalProperties: false properties: name: type: string promotions: type: array items: $ref: '#/components/schemas/Promotion' required: - name - promotions HtmlResponse: properties: html: type: string additionalProperties: false title: Html Response type: object required: - html ServicePlan: type: object additionalProperties: false properties: minCustomerStatusSaved: type: string name: type: string dataDomain: $ref: '#/components/schemas/DataDomain' limits: $ref: '#/components/schemas/ServiceLimits' created: type: integer format: int64 required: - name - dataDomain CustomerViewResponse: properties: customer: $ref: '#/components/schemas/CustomerView' additionalProperties: false title: Customer View Response type: object required: - customer AliasAvailableResponse: properties: alias: type: string available: type: boolean cid: type: integer format: int64 x-beamable-semantic-type: Cid additionalProperties: false title: Alias Available Response type: object required: - alias - available - cid RealmPromotion: type: object additionalProperties: false properties: name: type: string source: $ref: '#/components/schemas/Promotable' destination: $ref: '#/components/schemas/Promotable' required: - name - source - destination BeamoLimits: type: object additionalProperties: false properties: maxContainerSize: type: string maxRunningContainersPerService: type: integer format: int32 required: - maxContainerSize - maxRunningContainersPerService Project: type: object additionalProperties: false properties: displayName: type: string secret: type: string parent: type: string children: type: array items: type: string name: type: string x-beamable-semantic-type: Pid customCharts: type: object additionalProperties: type: string root: type: boolean archived: type: boolean config: type: object additionalProperties: type: string status: type: string sharded: type: boolean sigval: type: boolean plan: type: string created: type: integer format: int64 required: - name - secret - plan - customCharts - archived - root ActivationRequest: properties: token: type: string cid: type: integer format: int64 additionalProperties: false title: Activation Request type: object required: - token - cid RedisShardRequest: type: object additionalProperties: false properties: shardId: type: integer format: int32 masterHost: type: string slaveHosts: type: string required: - shardId - masterHost - slaveHosts RealmConfigResponse: properties: config: type: object additionalProperties: type: string additionalProperties: false title: Realm Config Response type: object required: - config Customer: type: object additionalProperties: false properties: name: type: string activationStatus: type: string paymentStatus: type: string image: type: string config: type: object additionalProperties: type: string contact: type: string alias: type: string cid: type: integer format: int64 x-beamable-semantic-type: Cid updated: type: integer format: int64 crm_link: type: string projects: type: array items: $ref: '#/components/schemas/Project' accounts: type: array items: $ref: '#/components/schemas/Account' created: type: integer format: int64 required: - cid - name - projects - accounts AliasAvailableRequest: properties: alias: type: string additionalProperties: false title: Alias Available Request type: object required: - alias Promotion: type: object additionalProperties: false properties: id: type: string source: $ref: '#/components/schemas/Promotable' destination: $ref: '#/components/schemas/Promotable' required: - id - source - destination GetGameRequest: properties: rootPID: type: string x-beamable-semantic-type: Pid additionalProperties: false title: Get Game Request type: object required: - rootPID EmptyResponse: properties: result: type: string additionalProperties: false title: Empty Response type: object required: - result InFlightFailure: type: object additionalProperties: false properties: serviceObjectId: type: string timestamp: type: integer format: int64 serviceName: type: string inFlightMessage: $ref: '#/components/schemas/InFlightMessage' lastError: type: string id: type: string required: - id - serviceObjectId - serviceName - inFlightMessage - lastError - timestamp BatchDeleteInFlightRequest: properties: inFlightFailureIds: type: array items: type: string additionalProperties: false title: Batch Delete In Flight Request type: object required: - inFlightFailureIds WebSocketConfiguration: type: object additionalProperties: false properties: provider: type: string uri: type: string required: - provider NewCustomerResponse: properties: name: type: string projectName: type: string activationPending: type: boolean alias: type: string cid: type: integer format: int64 x-beamable-semantic-type: Cid pid: type: string x-beamable-semantic-type: Pid token: $ref: '#/components/schemas/TokenResponse' additionalProperties: false title: New Customer Response type: object required: - token - cid - pid - name - projectName - activationPending DataDomain: type: object additionalProperties: false properties: messageBusAnalytics: type: array items: type: string mongoSrvAddress: type: string memcachedHosts: type: array items: type: string mongoSharded: type: boolean mongoSSL: type: boolean mongoHosts: type: array items: type: string mongoSSLEnabled: type: boolean messageBusCommon: type: array items: type: string redisShards: type: array items: $ref: '#/components/schemas/RedisShard' required: - mongoHosts - mongoSharded - memcachedHosts - mongoSSLEnabled ServicePlansResponse: properties: result: type: array items: $ref: '#/components/schemas/ServicePlan' additionalProperties: false title: Service Plans Response type: object required: - result RenameProjectRequest: properties: projectId: type: string x-beamable-semantic-type: Pid newName: type: string additionalProperties: false title: Rename Project Request type: object required: - projectId - newName NewGameRequest: properties: gameName: type: string additionalProperties: false title: New Game Request type: object required: - gameName CreateProjectRequest: properties: name: type: string plan: type: string sharded: type: boolean parent: type: string additionalProperties: false title: Create Project Request type: object required: - name TokenResponse: type: object additionalProperties: false properties: access_token: type: string expires_in: type: integer format: int64 refresh_token: type: string scopes: type: array items: type: string token_type: type: string challenge_token: type: string required: - expires_in - token_type UnarchiveProjectRequest: properties: projectId: type: string x-beamable-semantic-type: Pid additionalProperties: false title: Unarchive Project Request type: object required: - projectId RedisShard: type: object additionalProperties: false properties: shardId: type: integer format: int32 masterHost: type: string slaveHosts: type: array items: type: string required: - shardId - masterHost - slaveHosts PromoteRealmResponse: properties: sourcePid: type: string x-beamable-semantic-type: Pid scopes: type: array items: $ref: '#/components/schemas/PromotionScope' additionalProperties: false title: Promote Realm Response type: object required: - sourcePid - scopes RemoveLaunchMessageRequest: properties: file: type: string additionalProperties: false title: Remove Launch Message Request type: object required: - file ProjectView: type: object additionalProperties: false properties: secret: type: string parent: type: string x-beamable-semantic-type: Pid children: type: array items: x-beamable-semantic-type: Pid type: string projectName: type: string archived: type: boolean cid: type: integer format: int64 x-beamable-semantic-type: Cid pid: type: string x-beamable-semantic-type: Pid sharded: type: boolean required: - projectName - pid Account: type: object additionalProperties: false properties: user: type: string password: type: string projects: type: array items: type: string created: type: integer format: int64 required: - user - password - projects securitySchemes: server: type: apiKey name: X-DE-SIGNATURE in: header description: Signed Request authentication using project secret key. user: type: http description: Bearer authentication with a player access token in the Authorization header. scheme: bearer bearerFormat: Bearer security: [] externalDocs: description: Beamable Documentation url: https://docs.beamable.com openapi: 3.0.2