{
  "openapi": "3.0.4",
  "info": {
    "title": "Beamable API",
    "contact": {
      "name": "Beamable Support",
      "url": "https://beamable.com/contact-us",
      "email": "support@beamable.com"
    },
    "version": "1.0",
    "x-beamable-semantic-type": "Semantic type information for use in automatic SDK generation"
  },
  "servers": [
    {
      "url": "https://api.beamable.com"
    }
  ],
  "paths": {
    "/api/accounts/admin-users": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "List the customer's admin users: every account holding a role other than guest.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "The previous page's next cursor; omit it at first.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "How many accounts to return, at most 200.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountPortalViewCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/events": {
      "post": {
        "tags": [
          "Analytics"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ClientAnalyticsEvent"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ClientAnalyticsEvent"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ClientAnalyticsEvent"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted"
          }
        }
      },
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "Every analytics event this scope (realm or zone) can query: the manifest's registered\nschemas and the platform's built-in ones, by name. M:BeamableGateway.Controllers.AnalyticsController.GetSchema(System.String) is the read for\none event's schema.\n\nA scope with no deployed manifest has the built-ins alone. A manifest store that cannot\nbe READ is a different fact and is deliberately NOT flattened into that same list: the two\nwould be byte-identical to the caller.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAnalyticsEventsResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/schemas/{event}": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "One schema's JSON Schema document, as deployed, by the name a query uses:\n`beamable.{event}` is the platform's built-in; a bare name is the scope's registered\nschema, else the platform's built-in of that name.\n\nA catch-all route token, deliberately: schema names are multi-segment by design\n(`analytics/commerce/purchase`), and a plain `{event}` would 404 on exactly the names\nthis exists to serve.",
        "parameters": [
          {
            "name": "event",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/JsonNode"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/schema-meta": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "The contract an analytics event schema satisfies (JSON Schema 2020-12 plus\n`x-beamable-stats`), for editors and the CLI to validate and complete against. Not under\n`schemas/`: that route is a catch-all on the event name and an event called `meta`\nwould shadow it.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/query": {
      "post": {
        "tags": [
          "Analytics"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnalyticsQueryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AnalyticsQueryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AnalyticsQueryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/schema-findings": {
      "get": {
        "tags": [
          "AnalyticsSchemaFindings"
        ],
        "parameters": [
          {
            "name": "importId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAnalyticsSchemaFindingsResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/schema-findings/{event}": {
      "delete": {
        "tags": [
          "AnalyticsSchemaFindings"
        ],
        "parameters": [
          {
            "name": "event",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/schema-findings/delete-rows": {
      "post": {
        "tags": [
          "AnalyticsSchemaFindings"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteAnalyticsRowsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteAnalyticsRowsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteAnalyticsRowsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteAnalyticsRowsResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/schema-findings/{event}/preview": {
      "get": {
        "tags": [
          "AnalyticsSchemaFindings"
        ],
        "parameters": [
          {
            "name": "event",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AnalyticsFindingKind"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalyticsPreviewResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/schema-findings/deletions/{queryExecutionId}": {
      "get": {
        "tags": [
          "AnalyticsSchemaFindings"
        ],
        "parameters": [
          {
            "name": "queryExecutionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalyticsDeletionStatus"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/stats-reconcile": {
      "post": {
        "tags": [
          "AnalyticsStatsReconcile"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartStatsReconcileRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartStatsReconcileRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartStatsReconcileRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartStatsReconcileResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AnalyticsStatsReconcile"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetStatsReconcileRunsResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/stats-reconcile/{id}": {
      "get": {
        "tags": [
          "AnalyticsStatsReconcile"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatsReconcileRunView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/analytics/stats-reconcile/{id}/cancel": {
      "post": {
        "tags": [
          "AnalyticsStatsReconcile"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatsReconcileRunView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/.well-known/openid-configuration": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Returns the OpenID Connect discovery document.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenIdConfigResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/keys": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Returns the public keys used for JWT verification in JWKS format.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonWebKeySet"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/refresh-token": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate a new access token for a previously authenticated account. DEPRECATED: Use\n`tokens/refresh-token` instead.",
        "requestBody": {
          "description": "`RefreshTokenAuthRequest`",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshTokenAuthRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshTokenAuthRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshTokenAuthRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens/refresh-token": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate a new access token for a previously authenticated account.",
        "requestBody": {
          "description": "`RefreshTokenAuthRequest`",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshTokenAuthRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshTokenAuthRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshTokenAuthRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens/guest": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate a new access token for a brand-new player.",
        "requestBody": {
          "description": "`GuestAuthRequest`",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GuestAuthRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GuestAuthRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GuestAuthRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens/password": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate a new access token when given email and password credentials",
        "requestBody": {
          "description": "`PasswordAuthRequest`",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordAuthRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordAuthRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordAuthRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens/external": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate a new access token using external OAuth credentials. These include\nFacebook, Google, etc. For external providers we haven't implemented, we're going\nto make a federated authentication request.",
        "requestBody": {
          "description": "External authentication request containing provider and token",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalAuthRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalAuthRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalAuthRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalAuthResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens/device-id": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate a new access token using a device identifier.",
        "requestBody": {
          "description": "Device ID authentication request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceIdAuthRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceIdAuthRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceIdAuthRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "List all active refresh tokens for an account or player.",
        "parameters": [
          {
            "name": "playerIdOrAccountId",
            "in": "query",
            "description": "The gamer tag or account ID to list tokens for",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Skips N items",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Max number of items to return",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTokensResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Auth"
        ],
        "summary": "Revoke one or more refresh tokens.",
        "requestBody": {
          "description": "Request body with the token ids to revoke",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeRefreshTokensRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeRefreshTokensRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeRefreshTokensRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens/{tokenId}": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Retrieve full details of a refresh token.",
        "parameters": [
          {
            "name": "tokenId",
            "in": "path",
            "description": "The refresh token id to look up",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefreshToken"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens/access/{tokenId}": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Validate an access token and retrieve its details.",
        "parameters": [
          {
            "name": "tokenId",
            "in": "path",
            "description": "The access token to validate",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "description": "Customer ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "query",
            "description": "Realm ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyAccessToken"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/tokens/auth-code": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate a new access token using an OAuth 2.0 authorization code.",
        "requestBody": {
          "description": "Authorization code authentication request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizationCodeAuthRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizationCodeAuthRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizationCodeAuthRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/auth-codes": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "[Internal] Generate an authorization code for OAuth 2.0 flow.",
        "requestBody": {
          "description": "Authorization code grant request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthCodeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthCodeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AuthCodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthCode"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/auth/server": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate a new access token for a machine with a shared secret",
        "requestBody": {
          "description": "`ServerTokenAuthRequest`",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServerTokenAuthRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ServerTokenAuthRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ServerTokenAuthRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/accounts/batch": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Look up many players of the current realm in one call. Optionally narrows them to those\nwhose stats satisfy a filter, then returns each remaining player's account and the stat\nvalues asked for. Every requested player appears exactly once across `players`,\n`filteredOut` and `notFound`.",
        "description": "At most three kinds of query whatever the number of players: one for the filter, one for\nthe accounts, and one per stats namespace requested.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchAccountsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchAccountsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BatchAccountsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchAccountsResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/manifests": {
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Submit a new manifest describing the desired state of microservices.",
        "requestBody": {
          "description": "Manifest definition to post.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostManifestRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PostManifestRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostManifestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManifestChecksum"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "List manifests with optional pagination and archive filtering.",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Number of items to skip.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of items to return.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether to include archived manifests. Defaults to true.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetManifestsResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/manifests/{manifestId}": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Retrieve a manifest by its ID.",
        "parameters": [
          {
            "name": "manifestId",
            "in": "path",
            "description": "GUID identifier of the manifest.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether to include archived manifests. Defaults to true.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Manifest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/manifests/current": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Retrieve the current (latest) manifest.",
        "parameters": [
          {
            "name": "archived",
            "in": "query",
            "description": "Whether to include archived manifests. Defaults to true.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Manifest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Redeploy the current manifest to all microservices.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/manifests/current/content-urls": {
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get signed download URLs for private binary content referenced by the current manifest\n(portal extension files, schema documents). Bundle-origin items are signed against the\npublishing scope's storage location.",
        "requestBody": {
          "description": "Content items to sign URLs for, with an optional expiration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetManifestContentUrlsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetManifestContentUrlsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetManifestContentUrlsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetManifestContentUrlsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/content/binary": {
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get presigned upload URLs for private binary content in the caller's scope (portal\nextension files, schema documents) — the upload counterpart of GetManifestContentUrls\nand the C# analog of the legacy /basic/content/binary endpoint.",
        "requestBody": {
          "description": "Binary content definitions (id, MD5 checksum, content type).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveBinaryContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveBinaryContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveBinaryContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaveBinaryContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/manifests/promote": {
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Promote the current manifest from a source realm to the requesting realm.\nDEPRECATED: This endpoint is required for legacy Scala proxy calls.",
        "requestBody": {
          "description": "Promotion request including the source realm ID.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteBeamoManifestRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteBeamoManifestRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteBeamoManifestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/templates": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "List available service template IDs.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTemplatesResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/status": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get the deployment status of microservices in the current realm.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetStatusResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/registry/auth": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Authorize a docker registry request. Called by the registry's nginx as an auth_request\nsubrequest carrying the original request method and URI; only the response status code\nis used (200 allows, 401/403 deny).",
        "parameters": [
          {
            "name": "X-BEAM-REGISTRY-METHOD",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-BEAM-REGISTRY-URI",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/registry-uri": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get the Docker container registry URI for the current platform. When service names are\nprovided, also returns the canonical repository name each service must be pushed to for\nthe caller's scope.",
        "parameters": [
          {
            "name": "serviceName",
            "in": "query",
            "description": "Optional service names to resolve repository names for.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UriResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/registrations": {
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get service registrations matching the provided query.",
        "requestBody": {
          "description": "Filter query for service registrations.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationQuery"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationQuery"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceRegistrationResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/federation": {
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get federation support registrations for services matching the query.",
        "requestBody": {
          "description": "Filter query for service registrations.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationQuery"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationQuery"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FederationRegistrationResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/{serviceName}/federation/traffic": {
      "put": {
        "tags": [
          "Beamo"
        ],
        "summary": "Register a federation routing entry for a service.",
        "parameters": [
          {
            "name": "serviceName",
            "in": "path",
            "description": "Name of the service to register federation for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Federation registration details.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRegistrationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Beamo"
        ],
        "summary": "Remove a federation routing entry for a service.",
        "parameters": [
          {
            "name": "serviceName",
            "in": "path",
            "description": "Name of the service to remove the registration from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Delete registration request with the routing key.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRegistrationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRegistrationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRegistrationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/{serviceName}/metrics-request": {
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get a signed request for fetching service metrics from AWS CloudWatch.",
        "parameters": [
          {
            "name": "serviceName",
            "in": "path",
            "description": "Name of the service to fetch metrics for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Metrics request parameters.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMetricsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMetricsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetMetricsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignedRequest"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/{serviceName}/logs/query": {
      "post": {
        "tags": [
          "Beamo"
        ],
        "summary": "Start an Athena query to fetch service logs.",
        "parameters": [
          {
            "name": "serviceName",
            "in": "path",
            "description": "Name of the service to query logs for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Log query request parameters.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartServiceLogsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartServiceLogsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartServiceLogsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueryResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/logs/query/{queryId}": {
      "delete": {
        "tags": [
          "Beamo"
        ],
        "summary": "Stop an in-progress service logs query.",
        "parameters": [
          {
            "name": "queryId",
            "in": "path",
            "description": "ID of the query to stop.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get a signed URI to retrieve service logs query results from S3.",
        "parameters": [
          {
            "name": "queryId",
            "in": "path",
            "description": "ID of the completed query.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignedRequest"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/secret": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get the shared service secret for the current realm. DEPRECATED.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetServiceSecretResponse"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/storage/connection": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get the MongoDB Atlas connection string for the current realm's storage.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionStringResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/storage/{storageObjectName}/performance": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get MongoDB Atlas performance metrics for a storage object.",
        "parameters": [
          {
            "name": "storageObjectName",
            "in": "path",
            "description": "Name of the storage object (collection) to query.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Period",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StartTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EndTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Granularity",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoragePerformance"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/{serviceName}/logs/context": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get the logging context configuration for a specific service.",
        "parameters": [
          {
            "name": "serviceName",
            "in": "path",
            "description": "Name of the service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "routingKey",
            "in": "query",
            "description": "Optional routing key for multi-instance services.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceLoggingContext"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Beamo"
        ],
        "summary": "Save or update the logging context configuration for a service.",
        "parameters": [
          {
            "name": "serviceName",
            "in": "path",
            "description": "Name of the service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Logging context configuration to save.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceLoggingContext"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceLoggingContext"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceLoggingContext"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Beamo"
        ],
        "summary": "Delete the logging context configuration for a service.",
        "parameters": [
          {
            "name": "serviceName",
            "in": "path",
            "description": "Name of the service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "routingKey",
            "in": "query",
            "description": "Routing key identifying the logging context to delete.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/services/logs/context": {
      "get": {
        "tags": [
          "Beamo"
        ],
        "summary": "Get logging context configurations for all services in the realm.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllServiceLoggingContexts"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/bundles": {
      "get": {
        "tags": [
          "BeamoBundle"
        ],
        "summary": "List all bundles visible to the caller's realm.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBundlesResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/bundles/{ns}/{bundleName}": {
      "get": {
        "tags": [
          "BeamoBundle"
        ],
        "summary": "Latest entry and tag map for a bundle.",
        "parameters": [
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetBundleResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/bundles/{ns}/{bundleName}/releases": {
      "get": {
        "tags": [
          "BeamoBundle"
        ],
        "summary": "Release timeline for a bundle, newest first. fromVersion is an\nexclusive cursor - pass the last version you received to page backwards.",
        "parameters": [
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "fromVersion",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBundleReleasesResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/bundles/{ns}/{bundleName}/checksums/{checksum}": {
      "get": {
        "tags": [
          "BeamoBundle"
        ],
        "summary": "Fetch a specific bundle version by content checksum.",
        "parameters": [
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "checksum",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetBundleResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/bundles/{ns}/{bundleName}/publish": {
      "post": {
        "tags": [
          "BeamoBundle"
        ],
        "summary": "Publish new bundle content. Default ACL is the caller's realm.",
        "parameters": [
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishBundleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishBundleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PublishBundleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishBundleResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/bundles/{ns}/{bundleName}/tags/{tag}": {
      "post": {
        "tags": [
          "BeamoBundle"
        ],
        "summary": "Advance a tag to point at a given checksum.",
        "parameters": [
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteBundleTagRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteBundleTagRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteBundleTagRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/bundles/{ns}/{bundleName}/checksums/{checksum}/yank": {
      "post": {
        "tags": [
          "BeamoBundle"
        ],
        "summary": "Yank a bundle checksum — blocks new references; existing deploys unaffected.",
        "parameters": [
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "checksum",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/YankBundleResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/bundles/{ns}/{bundleName}/acl": {
      "put": {
        "tags": [
          "BeamoBundle"
        ],
        "summary": "Widen a bundle's ACL. Admin-gated.",
        "parameters": [
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBundleAclRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBundleAclRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBundleAclRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/cids/{customerId}/forced-bundles": {
      "get": {
        "tags": [
          "BeamoForcedBundle"
        ],
        "summary": "List all customer-level forced bundles.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListForcedBundlesResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/cids/{customerId}/forced-bundles/{ns}/{bundleName}": {
      "put": {
        "tags": [
          "BeamoForcedBundle"
        ],
        "summary": "Set or update a customer-level forced bundle.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "BeamoForcedBundle"
        ],
        "summary": "Remove a customer-level forced bundle.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/realms/{customerId}/{realmId}/forced-bundles/{ns}/{bundleName}": {
      "put": {
        "tags": [
          "BeamoForcedBundle"
        ],
        "summary": "Set or update a per-realm forced bundle, overriding the customer default.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "BeamoForcedBundle"
        ],
        "summary": "Remove a per-realm forced bundle override.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/otel/views": {
      "get": {
        "tags": [
          "BeamoOtel"
        ],
        "summary": "Get available OpenTelemetry views for a specific account.",
        "parameters": [
          {
            "name": "accountId",
            "in": "query",
            "description": "Account ID to retrieve views for.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OtelViewsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelViewsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelViewsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BeamoOtel"
        ],
        "summary": "Save or update an OpenTelemetry view configuration.",
        "requestBody": {
          "description": "The OTel view to save.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OtelView"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OtelView"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OtelView"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OtelView"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelView"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/otel/views/{viewId}": {
      "delete": {
        "tags": [
          "BeamoOtel"
        ],
        "summary": "Delete an OpenTelemetry view by ID.",
        "parameters": [
          {
            "name": "viewId",
            "in": "path",
            "description": "ID of the view to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "BeamoOtel"
        ],
        "summary": "Update an existing OpenTelemetry view.",
        "parameters": [
          {
            "name": "viewId",
            "in": "path",
            "description": "ID of the view to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Fields to update on the view.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOtelViewRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOtelViewRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOtelViewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OtelView"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelView"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/otel/auth/reader/config": {
      "get": {
        "tags": [
          "BeamoOtel"
        ],
        "summary": "Get OTel authentication configuration for the ClickHouse reader role.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OtelAuthConfig"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelAuthConfig"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelAuthConfig"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/otel/auth/writer/config": {
      "get": {
        "tags": [
          "BeamoOtel"
        ],
        "summary": "Get OTel authentication configuration for the ClickHouse writer role. Requires admin access.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OtelAuthConfig"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelAuthConfig"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelAuthConfig"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/prs": {
      "post": {
        "tags": [
          "BeamoPullRequest"
        ],
        "summary": "Submit a pull request proposing a new root manifest for the target scope.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitPullRequestRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitPullRequestRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitPullRequestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmitPullRequestResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "BeamoPullRequest"
        ],
        "summary": "List pull requests for the target scope, newest first.",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PullRequestStatus"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPullRequestsResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/prs/{pullRequestId}": {
      "get": {
        "tags": [
          "BeamoPullRequest"
        ],
        "summary": "Fetch a pull request with its diff against the scope's current manifest.",
        "parameters": [
          {
            "name": "pullRequestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPullRequestResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/prs/{pullRequestId}/approve": {
      "post": {
        "tags": [
          "BeamoPullRequest"
        ],
        "summary": "Widen the requested bundle ACLs, then post and deploy the proposed manifest.",
        "parameters": [
          {
            "name": "pullRequestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManifestChecksum"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/prs/{pullRequestId}/reject": {
      "post": {
        "tags": [
          "BeamoPullRequest"
        ],
        "summary": "Reject a pending pull request; submitter (withdrawal) or target scope admin.",
        "parameters": [
          {
            "name": "pullRequestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/prs/{pullRequestId}/comments": {
      "post": {
        "tags": [
          "BeamoPullRequest"
        ],
        "summary": "Append a comment to a pull request's discussion thread.",
        "parameters": [
          {
            "name": "pullRequestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommentPullRequestRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CommentPullRequestRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CommentPullRequestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/billing/portal-session": {
      "post": {
        "tags": [
          "Billing"
        ],
        "summary": "Create a Stripe Customer Portal session so the\ncustomer can manage payment methods and\nsubscriptions.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortalSessionResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns/draft": {
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Validate and save a mutable Draft (no directory row — invisible until published).",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignGraphDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignGraphDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignGraphDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaveDraftResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns/publish": {
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Publish: first version, in-place content edit, or a structural new version + cutover.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PublishRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "One filtered, sorted page of the CID's campaign versions (drafts + published) with each one's\nphase. Filters intersect (AND) and every one is optional; an omitted filter does not narrow.\n\nThat includes `realm`: campaign graphs are CID-scoped, so omitting it returns every\ncampaign the customer has, from every realm — the behaviour this endpoint has always had.\nPassing a PID narrows to the campaigns whose accepted realms include it, which is what an\noperator console pointed at one realm wants.\nOffset paging with a total, rather than the opaque cursor used elsewhere in this API: the\noperator console shows \"X–Y of Z\" and lets you jump to a page, neither of which a cursor can\nexpress, and a campaign set is bounded per customer rather than by audience.",
        "parameters": [
          {
            "name": "campaignId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phase",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CampaignLifecycle"
              }
            }
          },
          {
            "name": "createdBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "publishedBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realm",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "publishedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "publishedBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CampaignSortField"
            }
          },
          {
            "name": "descending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignSummaryDtoCampaignPageDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns/{campaignId}/{version}": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Load a specific version's graph.",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignGraphDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Campaign"
        ],
        "summary": "Discard an unpublished Draft. 409 once a version has been published.",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns/{campaignId}/{version}/status": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "The version's current phase (drives the operator's post-command polling).",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignStatusDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns/{campaignId}/{version}/funnel": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "The version's send funnel — per send node, the count of every stage, split into the settled\ntotal and the slice still being rolled up. Read off the runtime's own funnel documents (§9b), so\nthese are the campaign's numbers, not an analytics derivative. 404 when the version has no graph.\n\n`live=false` answers from the sealed counters alone: one query instead of two, with\n`pending` reported as zero. Worth asking for on any view that is not watching a campaign\nin flight, since the pending slice is the half that scans the collection the event firehose is\nwriting to.",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "live",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignFunnelDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns/{campaignId}/{version}/deactivate": {
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Stop admitting — drain (default) or hard-stop. Guarded CAS; 409 if not applicable.",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeactivateRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeactivateRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeactivateRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns/{campaignId}/{version}/archive": {
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Archive a drained (Inactive) campaign. Guarded CAS; 409 if not applicable.",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaigns/{campaignId}/{version}/reactivate": {
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Reactivate a drained (Inactive) campaign into a fresh era. Guarded CAS; 409 otherwise.",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaign-offer/grant": {
      "post": {
        "tags": [
          "CampaignOffer"
        ],
        "summary": "Entitle a player to an offer. Server-to-server: the campaign runtime grants on its own path, and\nthis route is for operators and integrations doing the same out of band.",
        "description": "Attribution is optional, but a context that names an `OutreachId` must also carry its\n`IdempotencyKey` (400 otherwise): the outreach id is shared by every offer on a send, so it\ncannot deduplicate a grant, and the store does not derive a key from it.",
        "requestBody": {
          "description": "Store, player, offer, and optional attribution.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantCampaignOfferRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantCampaignOfferRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GrantCampaignOfferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignOfferGrantResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaign-offer/revoke": {
      "post": {
        "tags": [
          "CampaignOffer"
        ],
        "summary": "Withdraw an unredeemed grant (campaign deactivated, offer pulled).",
        "requestBody": {
          "description": "Store, player, and the grant to withdraw.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeCampaignOfferRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeCampaignOfferRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeCampaignOfferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignOfferGrantResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaign-offer/redeem": {
      "post": {
        "tags": [
          "CampaignOffer"
        ],
        "summary": "Claim a grant. Client-callable: a player may only redeem their own grant unless privileged\n(non-Guest).",
        "description": "The campaign gate fails closed: a grant the store does not return for the player, when asked for it by id, is refused with\nBeamableShared.Federation.CampaignOffer.CampaignOfferContract.UnknownGrantStatus without the store being asked to redeem it,\nand a BeamableShared.Federation.CampaignOffer.CampaignOfferState.Granted grant whose gate is unmet is refused with\nBeamableShared.Federation.CampaignOffer.CampaignOfferContract.UnavailableStatus. A grant in any other state is passed to the\nstore ungated, so a retried claim replays idempotently.",
        "requestBody": {
          "description": "Store, player, grant, and the caller's idempotency key.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemCampaignOfferRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemCampaignOfferRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemCampaignOfferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignOfferRedeemResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/campaign-offer/campaign-offers": {
      "get": {
        "tags": [
          "CampaignOffer"
        ],
        "summary": "Every offer a store is holding for a player, filtered by state. Client-callable under the same\nself-only rule as M:BeamableGateway.Controllers.CampaignOfferController.RedeemOffer(BeamableShared.Services.CampaignOffer.Messages.RedeemCampaignOfferRequest).",
        "description": "The store answers for its own rules; this route then overlays the CAMPAIGN's gate — a condition\nis re-evaluated on every read, which is what lets an offer a player did not yet qualify for\nunlock the moment they do.",
        "parameters": [
          {
            "name": "federationId",
            "in": "query",
            "description": "Which store to ask.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playerId",
            "in": "query",
            "description": "The player. Must be the caller unless privileged.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "states",
            "in": "query",
            "description": "Which states to return, repeated (`states=Granted&states=Redeemed`). Omitted means all.\n`states=Granted` is what a store screen wants — \"unredeemed\" would also include revoked and\nexpired. A comma-separated value (`states=Granted,Redeemed`) is accepted too; see\nM:BeamableGateway.Controllers.CampaignOfferController.ParseStates(BeamableShared.Federation.CampaignOffer.CampaignOfferState[]).",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CampaignOfferState"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignOffersResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create a new customer (org) and automatically activate it.",
        "requestBody": {
          "description": "Customer creation request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewCustomerResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "List all customers visible to the requesting user.",
        "parameters": [
          {
            "name": "showHiddenRealms",
            "in": "query",
            "description": "Whether to include hidden realms in the response.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/verify": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create a new customer and hold it in a pending state until email verification is\ncomplete.",
        "requestBody": {
          "description": "Customer creation request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewCustomerResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/activate": {
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Activate a pending customer account. Returns an HTML redirect page to the portal.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get a specific customer by ID.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "The customer ID to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showHiddenRealms",
            "in": "query",
            "description": "Whether to include hidden realms in the response.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/admin-view": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get the full admin view of a customer (includes all fields).",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "The customer ID to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showHiddenRealms",
            "in": "query",
            "description": "Whether to include hidden realms in the response.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Customer"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/stripe/subscription": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get the current Stripe subscription tier for a customer.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StripeSubscriptionResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}": {
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Update the hidden or archive status of a realm.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer that owns the realm.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Realm status update request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRealmRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRealmRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRealmRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get a specific realm by customer and realm ID.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to retrieve.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmView"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Archive (soft-delete) a realm.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer that owns the realm.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to archive.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/config": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get the customer-level realm configuration.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer to retrieve config for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Replace the entire customer-level configuration.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Replacement configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Apply incremental changes to the customer-level configuration.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Config change request with keys to add, update, or remove.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/config": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get the configuration of the realm or zone addressed by the scope header. The\nkind-neutral sibling of the realm-routed config endpoints.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Replace the entire configuration of the realm or zone addressed by the scope\nheader.",
        "requestBody": {
          "description": "Replacement configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Apply incremental changes to the configuration of the realm or zone addressed by\nthe scope header.",
        "requestBody": {
          "description": "Config change request with keys to add, update, or remove.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/games": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "List all games (top-level realms) for a customer.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showHiddenRealms",
            "in": "query",
            "description": "Whether to include hidden realms.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetGamesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create a new game (top-level realm) under a customer.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer to create the game under.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Game creation request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewGameRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewGameRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewGameRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/games/{gameId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get all realms under a specific game.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "gameId",
            "in": "path",
            "description": "ID of the game realm to retrieve realms for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showHiddenRealms",
            "in": "query",
            "description": "Whether to include hidden realms.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetGamesResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Update the realm hierarchy for a game (add/remove/reorder child realms).",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "gameId",
            "in": "path",
            "description": "ID of the game realm to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Updated realm hierarchy.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameHierarchyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameHierarchyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameHierarchyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create a new realm under a customer's game.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer to create the realm under.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Realm creation request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRealmRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRealmRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRealmRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/rename": {
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Rename a realm.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer that owns the realm.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to rename.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Rename request with the new name.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRealmRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRealmRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRealmRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/config": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get the configuration for a specific realm.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to retrieve config for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Replace the entire configuration of a realm.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Replacement configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSaveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Apply incremental changes to a realm's configuration.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Config change request with keys to add, update, or remove.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigChangeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/client-defaults": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get the client-facing realm configuration defaults.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmConfiguration"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/promotion": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Promote content and microservices from a source realm into the destination realm.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to promote into.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Promotion request specifying source realm and what to promote.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteRealmRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteRealmRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteRealmRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoteRealmResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Preview what would be promoted from one realm to another without applying changes.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the destination realm.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceRealmId",
            "in": "query",
            "description": "ID of the source realm.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "promotables",
            "in": "query",
            "description": "Comma-separated list of promotable types to include.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contentIds",
            "in": "query",
            "description": "Comma-separated list of content IDs to filter by.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoteRealmResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/aliases/{alias}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Check whether a customer alias is available.",
        "parameters": [
          {
            "name": "alias",
            "in": "path",
            "description": "The alias to check.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliasAvailableResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/segments/status": {
      "post": {
        "tags": [
          "CustomerSegments"
        ],
        "summary": "Evaluation progress, size and current computed properties for up to 100 segments of any\nscope — the read to poll while segments settle after a create or a rule edit. A\ncustomer-scope segment is reported customer-wide, with a per-realm breakdown. Ids that name\nno segment come back in `missing`.\n\nNot audited as a cross-scope read, unlike the member reads below: it returns counts and\n  aggregates, never who the members are, and a client calls it every few seconds.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SegmentStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SegmentStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SegmentStatusRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentStatusBatchResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/segments/{segmentId}/count": {
      "get": {
        "tags": [
          "CustomerSegments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentCountResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/segments/{segmentId}/members": {
      "get": {
        "tags": [
          "CustomerSegments"
        ],
        "summary": "Members across every realm in the customer. `limit` sets the page size (1 to 1,000;\ndefault 50).",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentMemberInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/segments/{segmentId}/members/{playerId}": {
      "get": {
        "tags": [
          "CustomerSegments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MembershipCheckResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/data-bindings/{kind}": {
      "get": {
        "tags": [
          "DataBinding"
        ],
        "summary": "List every binding for a kind, in the caller's scope (realm or zone).",
        "parameters": [
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDataBindingsResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/data-bindings/{kind}/{key}": {
      "get": {
        "tags": [
          "DataBinding"
        ],
        "summary": "Get a single binding by kind + key.",
        "parameters": [
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataBinding"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "DataBinding"
        ],
        "summary": "Set or update a binding — points `key` at `namespace` in the given `mode`.",
        "parameters": [
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDataBindingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDataBindingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetDataBindingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "DataBinding"
        ],
        "summary": "Remove a binding — the key reverts to internal (no row).",
        "parameters": [
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets": {
      "get": {
        "tags": [
          "Dataset"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDatasetsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Dataset"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatasetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatasetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatasetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dataset"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}": {
      "get": {
        "tags": [
          "Dataset"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dataset"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Dataset"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDatasetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDatasetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDatasetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dataset"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Dataset"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/transfer-target": {
      "get": {
        "tags": [
          "Dataset"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetTransferTargetResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/identity": {
      "put": {
        "tags": [
          "Dataset"
        ],
        "summary": "Where the source system's player identities are; required by the accounts join.",
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDatasetIdentityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDatasetIdentityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetDatasetIdentityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dataset"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Dataset"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dataset"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/files": {
      "get": {
        "tags": [
          "DatasetFile"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDatasetFilesResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DatasetFile"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDatasetFileRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDatasetFileRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDatasetFileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetFileUploadResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/files/{fileId}": {
      "get": {
        "tags": [
          "DatasetFile"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetFile"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "DatasetFile"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/files/{fileId}/parts/{partNumber}/upload-url": {
      "post": {
        "tags": [
          "DatasetFile"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "partNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetFilePartUploadUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/files/{fileId}/complete": {
      "post": {
        "tags": [
          "DatasetFile"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteDatasetFileUploadRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteDatasetFileUploadRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteDatasetFileUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetFile"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/imports/preview": {
      "get": {
        "tags": [
          "DatasetImport"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportPreviewResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/imports": {
      "get": {
        "tags": [
          "DatasetImport"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListImportsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/imports/{importId}": {
      "get": {
        "tags": [
          "DatasetImport"
        ],
        "summary": "The import. While it is Running the response also carries `progress`, what the ETL\njob last reported (its phase and the tasks of the Spark stage it is in), and the read\ncompletes the import as soon as the job has written its result, without waiting for the\nrun's terminal event. Poll this alone to follow an import.",
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "importId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/imports/{importId}/id-parts": {
      "get": {
        "tags": [
          "DatasetImport"
        ],
        "summary": "The id parts of the accounts stage, with progress and errors per part.",
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "importId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListImportIdPartsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/imports/analytics-events": {
      "post": {
        "tags": [
          "DatasetImport"
        ],
        "summary": "Imports the dataset's files not yet imported into `analytics.events`.",
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnalyticsEventsImportSpec"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AnalyticsEventsImportSpec"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AnalyticsEventsImportSpec"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetImport"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/datasets/{datasetId}/imports/{importId}/cancel": {
      "post": {
        "tags": [
          "DatasetImport"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "importId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetImport"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/lobbies": {
      "get": {
        "tags": [
          "Lobby"
        ],
        "summary": "Query for active lobbies",
        "parameters": [
          {
            "name": "Skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "MatchType",
            "in": "query",
            "schema": {
              "type": "string",
              "x-beamable-semantic-type": "ContentId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LobbyQueryResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Lobby"
        ],
        "summary": "Create a lobby. A leader is not necessary to create a lobby.",
        "requestBody": {
          "description": "The create lobby request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLobby"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLobby"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLobby"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lobby"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Lobby"
        ],
        "summary": "Exposes the internal \"SetLobby\" behavior as an Admin only endpoint.",
        "requestBody": {
          "description": "The lobby to create or replace.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Lobby"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Lobby"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Lobby"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetLobbyResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/lobbies/{id}": {
      "get": {
        "tags": [
          "Lobby"
        ],
        "summary": "Get the current status of a lobby by id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The lobby id.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lobby"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Lobby"
        ],
        "summary": "Join a lobby",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lobby",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "The join lobby request. Includes tags.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinLobby"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinLobby"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JoinLobby"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lobby"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Lobby"
        ],
        "summary": "Remove the requested player from the lobby. The host is able to remove anyone. Others\nmay\nonly remove themselves without error.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lobby",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request including the player requested to remove",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveFromLobby"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveFromLobby"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveFromLobby"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/lobbies/passcode": {
      "put": {
        "tags": [
          "Lobby"
        ],
        "summary": "Join a lobby by passcode.",
        "requestBody": {
          "description": "The join lobby request. Includes tags.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinLobby"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinLobby"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JoinLobby"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lobby"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/lobbies/{id}/metadata": {
      "put": {
        "tags": [
          "Lobby"
        ],
        "summary": "Update the properties of a lobby",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lobby",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "The update lobby request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLobby"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLobby"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLobby"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lobby"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/lobbies/{id}/tags": {
      "put": {
        "tags": [
          "Lobby"
        ],
        "summary": "Add the request tags to the requested player.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lobby",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Includes the player ID and tags to add.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTags"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTags"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddTags"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lobby"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Lobby"
        ],
        "summary": "Remove the request tags from the requested player.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lobby",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Includes the player ID and the tags to remove.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveTags"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveTags"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveTags"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lobby"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/lobbies/{id}/server": {
      "post": {
        "tags": [
          "Lobby"
        ],
        "summary": "Invoke the Lobby actor to make the federated game server request.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lobby",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Includes an optional matchtype",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFederatedGameServer"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFederatedGameServer"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFederatedGameServer"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/mailbox/publish": {
      "post": {
        "tags": [
          "Mailbox"
        ],
        "summary": "Publish a message to a player mailbox, channel mailbox, or realm broadcast.",
        "requestBody": {
          "description": "Message request. Use PlayerId for player mailbox, Channel for channel mailbox,\nor RealmId for realm broadcast.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MessageRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/matchmaking/matches/{id}": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Fetch a match by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Match ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Match"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/message-rail/messages": {
      "post": {
        "tags": [
          "MessageRail"
        ],
        "summary": "Enqueue a message send request into the staging queue for a rail Federation.",
        "requestBody": {
          "description": "The send request (targets, federation, attribution, delivery limit).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendMessagesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SendMessagesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SendMessagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SendMessagesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/message-rail/funnel": {
      "post": {
        "tags": [
          "MessageRail"
        ],
        "summary": "Report a downstream funnel stage for one recipient (§H0). This is how a rail whose engagement\nsignal arrives OUT OF BAND gets it counted: an email open pixel, or an in-game mail marked read\ndays after it was delivered.\n\nPush does not need this — the handset echoes the send stamp back on its own analytics\nevent — but email and in-game have no handset, which is why their Delivered/Opened columns were\nstructurally always zero.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReportRailFunnelStageRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReportRailFunnelStageRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReportRailFunnelStageRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/message-rail/open/{token}.gif": {
      "get": {
        "tags": [
          "MessageRail"
        ],
        "summary": "The email tracking endpoint (§H4). One handler for every out-of-band stage: the pixel route\nrecords a `beam_opened` and returns a 1x1 GIF, and `?s=beam_clicked` records a click and\nredirects to the button the send node authored.\n\nAnonymous by necessity — the fetch comes from a mail client or the browser it opened, so\nthe token carries its own scope. Every fetch emits its stage, so five opens are five\n`beam_opened` events: the campaign funnel records an outreach's stage once, and anything\ncounting the raw events should count distinct outreach ids.\nOmitting `s` means `beam_opened`, which is what keeps pixel URLs already sitting\nin delivered inboxes working — but only ones minted since the stage names moved into the\n`beam_` namespace. An older URL carries `?s=Clicked`, which is no longer reportable\nand answers with the pixel. Adding a stage never needs a new route or a token change.\n<b>Read email opens as an upper bound.</b> Gmail and most corporate mail proxy and\npre-fetch images, and Apple Mail Privacy Protection fetches them unconditionally, so an email\nopen is not comparable to a push open.",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "s",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "302": {
            "description": "Found"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/message-rail/t/{token}": {
      "get": {
        "tags": [
          "MessageRail"
        ],
        "summary": "The email tracking endpoint (§H4). One handler for every out-of-band stage: the pixel route\nrecords a `beam_opened` and returns a 1x1 GIF, and `?s=beam_clicked` records a click and\nredirects to the button the send node authored.\n\nAnonymous by necessity — the fetch comes from a mail client or the browser it opened, so\nthe token carries its own scope. Every fetch emits its stage, so five opens are five\n`beam_opened` events: the campaign funnel records an outreach's stage once, and anything\ncounting the raw events should count distinct outreach ids.\nOmitting `s` means `beam_opened`, which is what keeps pixel URLs already sitting\nin delivered inboxes working — but only ones minted since the stage names moved into the\n`beam_` namespace. An older URL carries `?s=Clicked`, which is no longer reportable\nand answers with the pixel. Adding a stage never needs a new route or a token change.\n<b>Read email opens as an upper bound.</b> Gmail and most corporate mail proxy and\npre-fetch images, and Apple Mail Privacy Protection fetches them unconditionally, so an email\nopen is not comparable to a push open.",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "s",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "302": {
            "description": "Found"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/message-rail/staging": {
      "get": {
        "tags": [
          "MessageRail"
        ],
        "summary": "Retrieve the current staging-queue state, grouped per Federation.",
        "parameters": [
          {
            "name": "trackId",
            "in": "query",
            "description": "Optional track id to filter staged items.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "federationId",
            "in": "query",
            "description": "Optional federation id to filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalSystemTrackId",
            "in": "query",
            "description": "Optional originating-system id to filter.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetStagingStateResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/message-rail/register": {
      "post": {
        "tags": [
          "MessageRail"
        ],
        "summary": "Register the requesting player with a rail Federation (e.g. store a push device token). The\nrequest is dispatched to the customer microservice implementing request's\nFederationId. A player may only register themselves unless privileged (non-Guest).",
        "requestBody": {
          "description": "Federation id, target player, and federation-specific registration data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterUserWithMessageRailRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterUserWithMessageRailRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterUserWithMessageRailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageRailRegistrationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/message-rail/unregister": {
      "post": {
        "tags": [
          "MessageRail"
        ],
        "summary": "Unregister the requesting player from a rail Federation. A player may only unregister\nthemselves unless privileged (non-Guest).",
        "requestBody": {
          "description": "Federation id and target player.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnregisterUserWithMessageRailRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UnregisterUserWithMessageRailRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UnregisterUserWithMessageRailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageRailRegistrationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtoError"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/parties": {
      "post": {
        "tags": [
          "Party"
        ],
        "summary": "Create a party for the current player.",
        "requestBody": {
          "description": "Argument to pass to the party actor to initialize state.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateParty"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateParty"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateParty"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Party"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Party"
        ],
        "summary": "Exposes the internal \"SetParty\" behavior as an Admin only endpoint.",
        "requestBody": {
          "description": "The party to create or replace.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Party"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Party"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Party"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Party"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/parties/{id}/metadata": {
      "put": {
        "tags": [
          "Party"
        ],
        "summary": "Updates party state.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the party",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Argument to pass to the party actor to update state.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateParty"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateParty"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateParty"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Party"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/parties/{id}": {
      "get": {
        "tags": [
          "Party"
        ],
        "summary": "Return the status of a party.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the party",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Party"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Party"
        ],
        "summary": "Join a party",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the party",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "The list of player tags when joining the party",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartyMemberTags"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PartyMemberTags"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PartyMemberTags"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Party"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/parties/{id}/promote": {
      "put": {
        "tags": [
          "Party"
        ],
        "summary": "Promote a party member to leader.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the party",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Player to promote to leader",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteNewLeader"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteNewLeader"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteNewLeader"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Party"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/parties/{id}/invite": {
      "post": {
        "tags": [
          "Party"
        ],
        "summary": "Invite a player to a party",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the party",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Player to invite to the party",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteToParty"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteToParty"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InviteToParty"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "Party"
        ],
        "summary": "Cancel party invitation.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the party",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Player to be uninvited",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelInviteToParty"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelInviteToParty"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CancelInviteToParty"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/parties/{id}/members": {
      "delete": {
        "tags": [
          "Party"
        ],
        "summary": "Remove the requested player from the party. The leader is able to remove anyone. Others may\nonly remove themselves without error.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the party",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "The leave party request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveParty"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveParty"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveParty"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/parties/{id}/tags": {
      "put": {
        "tags": [
          "Party"
        ],
        "summary": "Update the tags for the player.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the party",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Tags to update for the player.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartyTags"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartyTags"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartyTags"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Party"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/lobbies": {
      "get": {
        "tags": [
          "PlayerLobby"
        ],
        "summary": "Fetch the requested player's lobby information",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "Player Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lobby"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PlayerLobby"
        ],
        "summary": "If the requested player is in a lobby, remove the player",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "Player Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/parties": {
      "get": {
        "tags": [
          "PlayerParty"
        ],
        "summary": "Fetch the requested player's party information",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "Player Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Party"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PlayerParty"
        ],
        "summary": "If the requested player is in a party, remove the player",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "Player Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/parties/invites": {
      "get": {
        "tags": [
          "PlayerParty"
        ],
        "summary": "Return list of party invites for player.",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "PlayerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartyInvitesForPlayerResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/party/invites": {
      "get": {
        "tags": [
          "PlayerParty"
        ],
        "summary": "Return list of party invites for player.",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "PlayerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartyInvitesForPlayerResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/presence": {
      "put": {
        "tags": [
          "PlayerPresence"
        ],
        "summary": "Submit a heartbeat to mark the requesting player as online.",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "The player ID to heartbeat. Must match the authenticated player.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "get": {
        "tags": [
          "PlayerPresence"
        ],
        "summary": "Get the current online status of a player.",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "Player ID to retrieve online status for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineStatus"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/presence/status": {
      "put": {
        "tags": [
          "PlayerPresence"
        ],
        "summary": "Set a custom presence status for the requesting player.",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "The player ID to update. Must match the authenticated player.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Presence status to set.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPresenceStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPresenceStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetPresenceStatusRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineStatus"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/realms/{realmId}/players/{playerId}/segments": {
      "get": {
        "tags": [
          "PlayerSegments"
        ],
        "parameters": [
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlayerSegmentInfo"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/realms/{realmId}/players/{playerId}/segments/transitions": {
      "get": {
        "tags": [
          "PlayerSegments"
        ],
        "parameters": [
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentTransitionInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/realms/{realmId}/players/{playerId}/segments/history": {
      "get": {
        "tags": [
          "PlayerSegments"
        ],
        "summary": "This player's closed segment periods, newest first — each carrying both ends, so how long\nit lasted is a subtraction. Reaches back as far as stint retention, unlike\n`/transitions`, which is the shorter-lived event log.",
        "parameters": [
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentStintInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/sessions": {
      "get": {
        "tags": [
          "PlayerSession"
        ],
        "summary": "Get session history for a player.",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "month",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionHistoryResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/sessions/client": {
      "get": {
        "tags": [
          "PlayerSession"
        ],
        "summary": "Get session history for the requesting player (client endpoint).",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "month",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionClientHistoryResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/stats": {
      "get": {
        "tags": [
          "PlayerStats"
        ],
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "game"
            }
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/StatsVisibility"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetStatsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PlayerStats"
        ],
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "game"
            }
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/StatsVisibility"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetStatsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetStatsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetStatsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PlayerStats"
        ],
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "game"
            }
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/StatsVisibility"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/players/{playerId}/matchmaking/tickets": {
      "get": {
        "tags": [
          "PlayerTicket"
        ],
        "summary": "Fetch the requested player's active Ticket information",
        "parameters": [
          {
            "name": "playerId",
            "in": "path",
            "description": "Player Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TicketQueryResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/presence/recent": {
      "get": {
        "tags": [
          "Presence"
        ],
        "summary": "List the realm's players, most recently online first. Accurate to within a few\nminutes, since presence is only saved periodically.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "How many players to return; capped at 100.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecentlyOnlineResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/presence/query": {
      "post": {
        "tags": [
          "Presence"
        ],
        "summary": "Query the online status for a batch of players.",
        "requestBody": {
          "description": "Query containing the player IDs to look up.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnlineStatusQuery"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OnlineStatusQuery"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OnlineStatusQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlayersStatusResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/secrets/values/{key}": {
      "get": {
        "tags": [
          "RealmSecrets"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRealmSecretResponse"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "put": {
        "tags": [
          "RealmSecrets"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutRealmSecretRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PutRealmSecretRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutRealmSecretRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "delete": {
        "tags": [
          "RealmSecrets"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/secrets/values": {
      "get": {
        "tags": [
          "RealmSecrets"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmSecretInfoCursorPagedResult"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/secrets/data-keys": {
      "get": {
        "tags": [
          "RealmSecrets"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmDataKeyInfoCursorPagedResult"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "post": {
        "tags": [
          "RealmSecrets"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RotateRealmDataKeyResponse"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/secrets/audit-logs": {
      "get": {
        "tags": [
          "RealmSecrets"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SecretKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccountId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PlayerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmSecretsAuditInfoCursorPagedResult"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/job": {
      "post": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Create or update a job definition.",
        "requestBody": {
          "description": "Job definition to create or update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobDefinitionSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JobDefinitionSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JobDefinitionSaveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDefinitionView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/internal/scheduler/job": {
      "post": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Create or update a job definition.",
        "requestBody": {
          "description": "Job definition to create or update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobDefinitionSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JobDefinitionSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JobDefinitionSaveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDefinitionView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/jobs": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "List job definitions for the current realm. DEPRECATED: Use jobs-paged instead.",
        "parameters": [
          {
            "name": "source",
            "in": "query",
            "description": "Optional source filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Optional name filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of results. Cannot exceed 10000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobDefinition"
                  }
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/jobs-paged": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "List job definitions for the current realm with cursor-based pagination.",
        "parameters": [
          {
            "name": "source",
            "in": "query",
            "description": "Optional source filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Optional name filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "onlyUnique",
            "in": "query",
            "description": "When true, only returns unique jobs.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Pagination cursor from a previous response.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDefinitionViewCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/jobs/suspended": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "List suspended job definitions with cursor-based pagination.",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Return jobs suspended from this datetime. Mutually exclusive with cursor.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Pagination cursor from a previous response. Mutually exclusive with from.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDefinitionViewCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/job/{jobId}": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Get a single job definition by ID.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "ID of the job to retrieve.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDefinitionView"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Delete a job definition and remove it from the scheduler.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "ID of the job to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/job/{jobId}/activity": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "List activity records for a specific job. DEPRECATED: Use job/{jobId}/activity-paged instead.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "ID of the job to retrieve activity for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of results. Cannot exceed 10000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobActivity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/job/{jobId}/activity-paged": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "List activity records for a specific job with cursor-based pagination.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "ID of the job to retrieve activity for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Pagination cursor from a previous response.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobActivityViewCursorPagedResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/jobs/activity-paged": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "List activity records across all jobs in the realm with cursor-based pagination.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Pagination cursor from a previous response.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobActivityViewCursorPagedResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/job/{jobId}/next-executions": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Preview the next scheduled execution times for a job.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "ID of the job to compute schedules for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Start time for the schedule preview. Defaults to now.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of executions to return. Cannot exceed 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scheduler/job/{jobId}/cancel": {
      "put": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Cancel a job's triggers, preventing future executions without deleting the job definition.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "ID of the job to cancel.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/secrets/values/{key}": {
      "get": {
        "tags": [
          "Secrets"
        ],
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRealmSecretResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Secrets"
        ],
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutRealmSecretRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PutRealmSecretRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutRealmSecretRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Secrets"
        ],
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/secrets/values": {
      "get": {
        "tags": [
          "Secrets"
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmSecretInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/secrets/data-keys": {
      "get": {
        "tags": [
          "Secrets"
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmDataKeyInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Secrets"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RotateRealmDataKeyResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/secrets/audit-logs": {
      "get": {
        "tags": [
          "Secrets"
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SecretKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccountId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PlayerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmSecretsAuditInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSegmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSegmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSegmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SegmentState"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentResponseCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/duplicate": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateSegmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateSegmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateSegmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/preview": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreviewSegmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PreviewSegmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PreviewSegmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkMembershipResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/audience": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AudienceRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AudienceRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AudienceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkMembershipResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/memberships": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MembershipQueryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MembershipQueryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MembershipQueryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MembershipQueryResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/reconcile": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RealmReconcileResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/reconcile": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentReconcileResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/properties/realms": {
      "get": {
        "tags": [
          "Segments"
        ],
        "summary": "This segment's computed property values, broken out per realm.\n\nA segment's single set of property values is the merge across every realm it has members\n  in, which is the right default. This is the breakdown behind it — the reading that\n  matters for a customer-scope segment, where one average can hide two very different\n  realms.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SegmentRealmPropertiesResponse"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/properties/recompute": {
      "post": {
        "tags": [
          "Segments"
        ],
        "summary": "Refresh this segment's computed property values now. Reconciliation does this on its\nown schedule; this is for an operator who wants a current figure immediately.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/attributes": {
      "get": {
        "tags": [
          "Segments"
        ],
        "summary": "The attribute vocabulary a rule can reference in this realm: the curated platform\ncatalog plus the realm's own stat keys, discovered per namespace.\n\n`namespace` may repeat or be comma-separated (`game.private,client.public`);\n  `domain` and `visibility` filter the same axis one half at a time, and all\n  three intersect. `custom` selects only discovered stats (true) or only the\n  platform vocabulary (false). An unknown domain or visibility is a 400 rather than an\n  empty list, so a typo doesn't read as \"this realm has no stats\".\n`refresh` re-samples immediately instead of serving the cached catalog, for the\n  operator who just created a stat and would otherwise wait out the TTL.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "namespace",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "domain",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "custom",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SegmentAttribute"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/count": {
      "get": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentCountResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}": {
      "get": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSegmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSegmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSegmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/state": {
      "put": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetSegmentStateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetSegmentStateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetSegmentStateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/members": {
      "get": {
        "tags": [
          "Segments"
        ],
        "summary": "Current members, or — with `asOf` — the roster as it stood at a past instant,\nreconstructed from the membership rows open then plus the periods that spanned it.\n`limit` sets the page size (1 to 1,000; default 50).",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "asOf",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentMemberInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentClearResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/members/{playerId}": {
      "get": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MembershipCheckResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/includes/add": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMutationResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/includes/remove": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMutationResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/excludes/add": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMutationResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/excludes/remove": {
      "post": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ListMutationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMutationResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/flow": {
      "get": {
        "tags": [
          "Segments"
        ],
        "summary": "How membership moved over a window: entries and exits per bucket, the net, and the size\nat the end of each bucket.\n\nTwo limits shape the answer and the response reports both. A window beyond\n  `maxWindowDays` is rejected; one beyond retained history is clamped, with\n  `truncated` set and `coverageStartsAt` naming the earliest answerable instant.\n  Buckets outside coverage are omitted rather than zeroed.\n`windows` additionally counts <em>distinct players</em> over one or more widths in\n  days (`?windows=7,14,30`): a player who left and came back is two entries but one\n  player. Opt-in, because it costs a group over every distinct player in the window where\n  the default costs three bucketed counts. Every width ends at `to`, so the windows\n  nest and must not be added together, and each entry reports the `coveredDays` it\n  actually describes. If the pass cannot finish, `unique` comes back empty with\n  `uniqueUnavailable` set and the rest of the response is unaffected.\n`?versions=true` adds `versions`: every version of the segment with its rule,\n  the exact span it was in effect, the movement over that span and the member count at\n  each end. Opt-in, because it is another pass over the retained history.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "windows",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "versions",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentFlowResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/{segmentId}/transitions": {
      "get": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playerId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentTransitionInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/segments/audit-logs": {
      "get": {
        "tags": [
          "Segments"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SegmentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccountId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentAuditInfoCursorPagedResult"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/sessions": {
      "post": {
        "tags": [
          "Session"
        ],
        "summary": "Start a session for a player. Used by old clients whose POST /basic/session\nis forwarded by the Scala proxy.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/sessions/heartbeat": {
      "post": {
        "tags": [
          "Session"
        ],
        "summary": "Legacy session heartbeat. Bridges into the actor presence system\nso old clients that don't use WebSocket presence pings appear online.",
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/sessions/status": {
      "get": {
        "tags": [
          "Session"
        ],
        "summary": "Legacy online status endpoint. Handles GET /sessions/status forwarded\nby the Scala proxy for old clients that query online status via the\nsession service rather than the presence API.",
        "parameters": [
          {
            "name": "playerIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "intervalSecs",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scm/connections": {
      "get": {
        "tags": [
          "SourceControl"
        ],
        "summary": "The scope's connections, by name; with `ids`, just those, in that order (404\nif any is missing).",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListScmConnectionsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SourceControl"
        ],
        "summary": "Register a repository, optionally with its token.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScmConnectionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ScmConnectionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ScmConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScmConnection"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SourceControl"
        ],
        "summary": "Remove several connections and tokens; 404 if any is missing.",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scm/connections/{connectionId}": {
      "get": {
        "tags": [
          "SourceControl"
        ],
        "summary": "One connection; says whether a token is set, never the token.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScmConnection"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "SourceControl"
        ],
        "summary": "Replace a connection's settings; a token in the body rotates it.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScmConnectionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ScmConnectionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ScmConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScmConnection"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SourceControl"
        ],
        "summary": "Remove a connection and its token.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/scm/connections/batch": {
      "post": {
        "tags": [
          "SourceControl"
        ],
        "summary": "Register several repositories at once; all or none are created.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScmConnectionsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScmConnectionsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScmConnectionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListScmConnectionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "SourceControl"
        ],
        "summary": "Replace several connections' settings; all or none change.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateScmConnectionsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateScmConnectionsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateScmConnectionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListScmConnectionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/stats/{itemType}/{id}": {
      "get": {
        "tags": [
          "Stats"
        ],
        "parameters": [
          {
            "name": "itemType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "game"
            }
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/StatsVisibility"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetStatsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Stats"
        ],
        "parameters": [
          {
            "name": "itemType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/StatsVisibility"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetStatsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetStatsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetStatsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Stats"
        ],
        "parameters": [
          {
            "name": "itemType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/StatsVisibility"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/stats/subscription": {
      "put": {
        "tags": [
          "Stats"
        ],
        "summary": "Subscribe a service to stat change notifications.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSubscribeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSubscribeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSubscribeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Stats"
        ],
        "summary": "Unsubscribe a service from stat change notifications.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatsUnsubscribeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StatsUnsubscribeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StatsUnsubscribeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/stats/batch": {
      "post": {
        "tags": [
          "Stats"
        ],
        "summary": "Batch get stats for multiple targets.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchGetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchGetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BatchGetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchGetStatsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Stats"
        ],
        "summary": "Batch write stats for multiple targets.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BatchWriteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/stats/players/batch": {
      "post": {
        "tags": [
          "Stats"
        ],
        "summary": "Read one namespace's stats for many players in one call, straight from storage. Unlike\n`POST stats/batch` it never activates an actor or creates a document, returns one result\nper distinct player in request order, and caps the request at\nBeamableShared.Services.Stats.StatsService.MaxBatchPlayerIds distinct players.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlayersBatchGetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlayersBatchGetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlayersBatchGetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlayersBatchGetResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/stats/query": {
      "post": {
        "tags": [
          "Stats"
        ],
        "summary": "Query for objects by stat criteria. Returns matching object IDs.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSearchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSearchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSearchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatsSearchResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/stats/query/extended": {
      "post": {
        "tags": [
          "Stats"
        ],
        "summary": "Query for objects by stat criteria. Returns matching object IDs\nwith their stat values, optionally filtered by statKeys.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSearchExtendedRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSearchExtendedRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StatsSearchExtendedRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatsSearchExtendedResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/matchmaking/tickets": {
      "get": {
        "tags": [
          "Ticket"
        ],
        "summary": "Query for active tickets",
        "parameters": [
          {
            "name": "Players",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "x-beamable-semantic-type": "Gamertag"
            }
          },
          {
            "name": "IncludeInactive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TicketQueryResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ticket"
        ],
        "summary": "Create a ticket representing 1 or more players to be matched\nwith others.",
        "requestBody": {
          "description": "Ticket reservation request specifying players and match types.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TicketReservationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TicketReservationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TicketReservationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TicketReservationResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/matchmaking/tickets/{id}": {
      "get": {
        "tags": [
          "Ticket"
        ],
        "summary": "Fetch a ticket by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Ticket ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ticket"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Ticket"
        ],
        "summary": "Cancel a pending ticket. If no ticket with the id exists, this will\nstill return a 204.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Ticket ID to cancel.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/workflow/{executionId}/status": {
      "get": {
        "tags": [
          "Workflow"
        ],
        "parameters": [
          {
            "name": "executionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowStatusResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/workflow/{executionId}/cancel": {
      "post": {
        "tags": [
          "Workflow"
        ],
        "parameters": [
          {
            "name": "executionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelWorkflowRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelWorkflowRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CancelWorkflowRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/workflow/{executionId}/restart": {
      "post": {
        "tags": [
          "Workflow"
        ],
        "parameters": [
          {
            "name": "executionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Acknowledge"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/zones/{customerId}/{zoneId}/forced-bundles": {
      "get": {
        "tags": [
          "Zones"
        ],
        "summary": "List all forced bundles scoped to a zone. Independent of realm entries.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListForcedBundlesResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/beamo/zones/{customerId}/{zoneId}/forced-bundles/{ns}/{bundleName}": {
      "put": {
        "tags": [
          "Zones"
        ],
        "summary": "Set or update a per-zone forced bundle. Independent of realm entries.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetForcedBundleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Zones"
        ],
        "summary": "Remove a per-zone forced bundle.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ns",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bundleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/zones": {
      "get": {
        "tags": [
          "Zones"
        ],
        "summary": "List the zones of a customer that are visible to the caller. Customer-level\nAdmins see every zone; other callers only see zones on which their effective\nzone role is at least Tester.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZonesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Zones"
        ],
        "summary": "Create a new zone under a customer.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer to create the zone under.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Zone creation request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateZoneRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateZoneRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateZoneRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoneView"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/zones/{zoneId}": {
      "get": {
        "tags": [
          "Zones"
        ],
        "summary": "Get a specific zone by customer and zone ID.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "description": "ID of the zone to retrieve.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoneView"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Zones"
        ],
        "summary": "Archive (soft-delete) a zone. Blocked while any realm is bound to the zone.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer that owns the zone.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "description": "ID of the zone to archive.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/zones/{zoneId}/rename": {
      "put": {
        "tags": [
          "Zones"
        ],
        "summary": "Rename a zone.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer that owns the zone.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "description": "ID of the zone to rename.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Rename request with the new name.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameZoneRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameZoneRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RenameZoneRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/zones/{zoneId}/roles/{accountId}": {
      "put": {
        "tags": [
          "Zones"
        ],
        "summary": "Set the zone-scoped role of an account.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer that owns the zone.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "description": "ID of the zone the role is scoped to.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account to grant the role to.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The role to set.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetZoneRoleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetZoneRoleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetZoneRoleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Zones"
        ],
        "summary": "Remove the zone-scoped role of an account. The zone's default role (if any)\napplies afterwards.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer that owns the zone.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "description": "ID of the zone the role is scoped to.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account to remove the role from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/realms/{realmId}/zone": {
      "put": {
        "tags": [
          "Zones"
        ],
        "summary": "Bind a realm to a zone, or unbind it when no zone ID is given. A realm has at\nmost one zone and defaults to none.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realmId",
            "in": "path",
            "description": "ID of the realm to bind.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Binding request with the zone ID, or null to unbind.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetRealmZoneRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetRealmZoneRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetRealmZoneRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyMessage"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    },
    "/api/customers/{customerId}/zones/{zoneId}/promotion": {
      "post": {
        "tags": [
          "Zones"
        ],
        "summary": "Promote the current Beamo manifest from a source zone into the destination zone.\nZones promote microservices only (no content).",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "description": "ID of the zone to promote into.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Promotion request specifying the source zone.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteZoneRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteZoneRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteZoneRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoteZoneResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Zones"
        ],
        "summary": "Preview what a zone→zone promotion would change, without applying it.",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoneId",
            "in": "path",
            "description": "ID of the destination zone.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceZoneId",
            "in": "query",
            "description": "ID of the source zone.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoteZoneResponse"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "X-BEAM-SCOPE",
          "in": "header",
          "description": "Customer and project scope. This should be in the form of '{customerId}.{projectId}'. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-GAMERTAG",
          "in": "header",
          "description": "Override the playerId of the requester. This is only necessary when not using a JWT bearer token.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "X-BEAM-TIMEOUT",
          "in": "header",
          "description": "Set the request timeout in seconds. Defaults to 10 seconds.",
          "schema": {
            "type": "integer"
          }
        }
      ]
    }
  },
  "components": {
    "schemas": {
      "Account": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "createdTimeMillis": {
            "type": "integer",
            "format": "int64"
          },
          "updatedTimeMillis": {
            "type": "integer",
            "format": "int64"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "passwordRaw": {
            "type": "string",
            "nullable": true,
            "writeOnly": true
          },
          "gamerTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RealmAssociation"
            }
          },
          "thirdParties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ThirdPartyAssociation"
            }
          },
          "external": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalIdentity"
            },
            "nullable": true
          },
          "userName": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "roleString": {
            "type": "string",
            "nullable": true
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleAssociation"
            },
            "nullable": true
          },
          "zoneRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ZoneRoleAssociation"
            },
            "nullable": true
          },
          "deviceIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "realmId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccountPortalView": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "thirdPartyAppAssociations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "roleString": {
            "type": "string",
            "nullable": true
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleMappingView"
            },
            "nullable": true
          },
          "external": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalIdentity"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccountPortalViewCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountPortalView"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Acknowledge": {
        "type": "object",
        "additionalProperties": false
      },
      "ActivationStatus": {
        "enum": [
          "PENDING",
          "ACTIVATED"
        ],
        "type": "string"
      },
      "AddTags": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "nullable": true,
            "readOnly": true
          },
          "replace": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AddressFamily": {
        "enum": [
          "Unspecified",
          "Unix",
          "InterNetwork",
          "ImpLink",
          "Pup",
          "Chaos",
          "NS",
          "Iso",
          "Ecma",
          "DataKit",
          "Ccitt",
          "Sna",
          "DecNet",
          "DataLink",
          "Lat",
          "HyperChannel",
          "AppleTalk",
          "NetBios",
          "VoiceView",
          "FireFox",
          "Banyan",
          "Atm",
          "InterNetworkV6",
          "Cluster",
          "Ieee12844",
          "Irda",
          "NetworkDesigners",
          "Max",
          "Packet",
          "ControllerAreaNetwork",
          "Unknown"
        ],
        "type": "string"
      },
      "AliasAvailableResponse": {
        "required": [
          "alias",
          "available"
        ],
        "type": "object",
        "properties": {
          "alias": {
            "type": "string"
          },
          "available": {
            "type": "boolean"
          },
          "customerId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AnalyticsDeletionStatus": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string"
          },
          "stateChangeReason": {
            "type": "string",
            "nullable": true
          },
          "dataScannedBytes": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AnalyticsEventEntry": {
        "type": "object",
        "properties": {
          "event": {
            "type": "string"
          },
          "builtIn": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AnalyticsEventsFields": {
        "required": [
          "actTime",
          "event",
          "eventId",
          "scope",
          "source"
        ],
        "type": "object",
        "properties": {
          "scope": {
            "$ref": "#/components/schemas/ImportExpression"
          },
          "eventId": {
            "$ref": "#/components/schemas/ImportExpression"
          },
          "playerId": {
            "$ref": "#/components/schemas/ImportExpression"
          },
          "accountId": {
            "$ref": "#/components/schemas/ImportExpression"
          },
          "actTime": {
            "$ref": "#/components/schemas/ImportExpression"
          },
          "source": {
            "$ref": "#/components/schemas/ImportExpression"
          },
          "event": {
            "$ref": "#/components/schemas/ImportExpression"
          }
        },
        "additionalProperties": false
      },
      "AnalyticsEventsImportSpec": {
        "required": [
          "fields",
          "params"
        ],
        "type": "object",
        "properties": {
          "mapAccounts": {
            "type": "boolean"
          },
          "fileIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "fields": {
            "$ref": "#/components/schemas/AnalyticsEventsFields"
          },
          "params": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ImportExpression"
            }
          }
        },
        "additionalProperties": false
      },
      "AnalyticsFindingKind": {
        "enum": [
          "UnknownEvent",
          "UnexpectedKey",
          "TypeMismatch",
          "MissingRequired",
          "ValueNotAllowed",
          "InvalidIdentifier"
        ],
        "type": "string"
      },
      "AnalyticsPreviewColumn": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AnalyticsPreviewResponse": {
        "type": "object",
        "properties": {
          "queryExecutionId": {
            "type": "string",
            "nullable": true
          },
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnalyticsPreviewColumn"
            }
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "additionalProperties": false
      },
      "AnalyticsQueryRequest": {
        "type": "object",
        "properties": {
          "sql": {
            "type": "string",
            "nullable": true
          },
          "actDateFrom": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "actDateTo": {
            "type": "string",
            "format": "date",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AnalyticsRowsDeletion": {
        "required": [
          "queryExecutionId"
        ],
        "type": "object",
        "properties": {
          "queryExecutionId": {
            "type": "string"
          },
          "startedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "AnalyticsSchemaFindingView": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/AnalyticsFindingKind"
          },
          "expected": {
            "type": "string",
            "nullable": true
          },
          "observed": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            }
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "firstSeen": {
            "type": "string",
            "format": "date-time"
          },
          "lastSeen": {
            "type": "string",
            "format": "date-time"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "resolvedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "resolvedByManifestId": {
            "type": "string",
            "nullable": true
          },
          "rowsDeletion": {
            "$ref": "#/components/schemas/AnalyticsRowsDeletion"
          }
        },
        "additionalProperties": false
      },
      "AnalyticsSchemaFindingsEvent": {
        "type": "object",
        "properties": {
          "event": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/AnalyticsSchemaFindingsStatus"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "firstSeen": {
            "type": "string",
            "format": "date-time"
          },
          "lastSeen": {
            "type": "string",
            "format": "date-time"
          },
          "findings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnalyticsSchemaFindingView"
            }
          },
          "document": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "presence": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AnalyticsSchemaFindingsStatus": {
        "enum": [
          "Missing",
          "Drifted",
          "Invalid",
          "Resolved"
        ],
        "type": "string"
      },
      "AudienceRequest": {
        "required": [
          "include"
        ],
        "type": "object",
        "properties": {
          "include": {
            "type": "array",
            "items": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "exclude": {
            "type": "array",
            "items": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthCode": {
        "required": [
          "accountId",
          "code",
          "redirectUri"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "redirectUri": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "ttl": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthCodeRequest": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "AccountId"
          },
          "redirectUri": {
            "type": "string",
            "nullable": true
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Cid"
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "context": {
            "$ref": "#/components/schemas/ContextInfo"
          }
        },
        "additionalProperties": false
      },
      "AuthResponse": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string",
            "nullable": true
          },
          "refreshToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthorDto": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "kind": {
            "$ref": "#/components/schemas/AuthorKind"
          }
        },
        "additionalProperties": false
      },
      "AuthorKind": {
        "enum": [
          "User",
          "System"
        ],
        "type": "string"
      },
      "AuthorizationCodeAuthRequest": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "redirectUri": {
            "type": "string",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Cid"
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "context": {
            "$ref": "#/components/schemas/ContextInfo"
          }
        },
        "additionalProperties": false
      },
      "BatchAccountsPlayer": {
        "required": [
          "playerId"
        ],
        "type": "object",
        "properties": {
          "playerId": {
            "type": "integer",
            "format": "int64"
          },
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "stats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchAccountsStat"
            }
          }
        },
        "additionalProperties": false
      },
      "BatchAccountsRequest": {
        "required": [
          "playerIds"
        ],
        "type": "object",
        "properties": {
          "playerIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "filter": {
            "$ref": "#/components/schemas/StatsSearchRequest"
          },
          "includeAccount": {
            "type": "boolean"
          },
          "stats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchAccountsStats"
            }
          }
        },
        "additionalProperties": false
      },
      "BatchAccountsResponse": {
        "required": [
          "filteredOut",
          "notFound",
          "players"
        ],
        "type": "object",
        "properties": {
          "players": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchAccountsPlayer"
            }
          },
          "filteredOut": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "notFound": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "additionalProperties": false
      },
      "BatchAccountsStat": {
        "required": [
          "domain",
          "key",
          "value",
          "visibility"
        ],
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/StatsVisibility"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/StatsValue"
          }
        },
        "additionalProperties": false
      },
      "BatchAccountsStats": {
        "required": [
          "domain",
          "visibility"
        ],
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/StatsVisibility"
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "BatchGetItem": {
        "required": [
          "target"
        ],
        "type": "object",
        "properties": {
          "target": {
            "$ref": "#/components/schemas/StatsTarget"
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BatchGetRequest": {
        "required": [
          "requests"
        ],
        "type": "object",
        "properties": {
          "requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchGetItem"
            }
          }
        },
        "additionalProperties": false
      },
      "BatchGetStatsResponse": {
        "required": [
          "results"
        ],
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetStatsResponse"
            }
          }
        },
        "additionalProperties": false
      },
      "BatchState": {
        "required": [
          "analyticsTrackRefs",
          "batchKey",
          "externalSystemTrackIds",
          "trackIds"
        ],
        "type": "object",
        "properties": {
          "batchKey": {
            "type": "string"
          },
          "gamerTagsCount": {
            "type": "integer",
            "format": "int32"
          },
          "timeLeftForNextBatchSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "extraDataFed": {
            "nullable": true
          },
          "deliveryLimitTimeSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "delaySeconds": {
            "type": "integer",
            "format": "int64"
          },
          "releaseAtUnixSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "deliveryDeadlineUnixSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "trackIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "externalSystemTrackIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "analyticsTrackRefs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "BatchWriteItem": {
        "required": [
          "request",
          "target"
        ],
        "type": "object",
        "properties": {
          "target": {
            "$ref": "#/components/schemas/StatsTarget"
          },
          "request": {
            "$ref": "#/components/schemas/SetStatsRequest"
          }
        },
        "additionalProperties": false
      },
      "BatchWriteRequest": {
        "required": [
          "requests"
        ],
        "type": "object",
        "properties": {
          "requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchWriteItem"
            }
          }
        },
        "additionalProperties": false
      },
      "BinaryContentDefinition": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          },
          "uploadContentType": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "BinaryContentUploadUrl": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "uri": {
            "type": "string"
          },
          "uploadUri": {
            "type": "string"
          },
          "uploadMethod": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "BoolListValue": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "boolean"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "BoundDto": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "inclusive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "BulkMembershipResponse": {
        "required": [
          "count",
          "sample"
        ],
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "sample": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "additionalProperties": false
      },
      "BundleDep": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "min": {
            "type": "integer",
            "format": "int64"
          },
          "max": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "checksum": {
            "type": "string",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "BundleDepRange": {
        "type": "object",
        "properties": {
          "min": {
            "type": "integer",
            "format": "int64"
          },
          "max": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BundleRelease": {
        "type": "object",
        "properties": {
          "bundleName": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int64"
          },
          "checksum": {
            "type": "string"
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "BundleSummary": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "acl": {
            "type": "string"
          },
          "ownerCid": {
            "type": "string"
          },
          "latestChecksum": {
            "type": "string"
          },
          "latestVersion": {
            "type": "integer",
            "format": "int64"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BundleSummaryTag"
            }
          },
          "updatedAt": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "BundleSummaryTag": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "BundleView": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          },
          "serviceReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceReference"
            }
          },
          "storageReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceStorageReference"
            }
          },
          "portalExtensionReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortalExtensionReference"
            }
          },
          "schemaReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SchemaReference"
            }
          },
          "bundleDependencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BundleDep"
            }
          },
          "publisherFullScope": {
            "type": "string",
            "nullable": true
          },
          "publishedAt": {
            "type": "integer",
            "format": "int64"
          },
          "yanked": {
            "type": "boolean"
          },
          "scope": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CallerInfo": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "playerId": {
            "type": "string",
            "nullable": true
          },
          "ipAddress": {
            "$ref": "#/components/schemas/IPAddress"
          },
          "clientId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignAuditDto": {
        "type": "object",
        "properties": {
          "createdBy": {
            "$ref": "#/components/schemas/AuthorDto"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdatedBy": {
            "$ref": "#/components/schemas/AuthorDto"
          },
          "lastUpdatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBySystem": {
            "type": "string"
          },
          "publishedBy": {
            "$ref": "#/components/schemas/AuthorDto"
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignChangeDto": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "node": {
            "type": "string",
            "nullable": true
          },
          "edge": {
            "type": "string",
            "nullable": true
          },
          "field": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignChangeErrorDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "node": {
            "type": "string",
            "nullable": true
          },
          "edge": {
            "type": "string",
            "nullable": true
          },
          "goalLabel": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignConditionDto": {
        "type": "object",
        "properties": {
          "payload": {
            "type": "string"
          },
          "lockedMessage": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignConfigDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "acceptedRealms": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maxDrainDurationMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignFunnelDto": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignNodeFunnelDto"
            }
          }
        },
        "additionalProperties": false
      },
      "CampaignGraphDto": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "config": {
            "$ref": "#/components/schemas/CampaignConfigDto"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphNodeDto"
            }
          },
          "edges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphEdgeDto"
            }
          },
          "audit": {
            "$ref": "#/components/schemas/CampaignAuditDto"
          }
        },
        "additionalProperties": false
      },
      "CampaignLifecycle": {
        "enum": [
          "Draft",
          "Launching",
          "Active",
          "WindingDown",
          "Halting",
          "Inactive",
          "Archived"
        ],
        "type": "string"
      },
      "CampaignNodeFunnelDto": {
        "type": "object",
        "properties": {
          "node": {
            "type": "string"
          },
          "stages": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/CampaignStageFunnelDto"
            }
          }
        },
        "additionalProperties": false
      },
      "CampaignOffer": {
        "required": [
          "grantId",
          "offerId"
        ],
        "type": "object",
        "properties": {
          "grantId": {
            "type": "string"
          },
          "offerId": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/CampaignOfferState"
          },
          "grantedAtUnixSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "expiresAtUnixSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "offer": {
            "$ref": "#/components/schemas/CampaignOfferItem"
          },
          "available": {
            "type": "boolean"
          },
          "unavailableReasons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignOfferReason"
            }
          },
          "conditionToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferAmount": {
        "required": [
          "symbol",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int64"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferDto": {
        "type": "object",
        "properties": {
          "entryId": {
            "type": "string"
          },
          "offerId": {
            "type": "string"
          },
          "federationId": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "invalidatesEntryIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "condition": {
            "$ref": "#/components/schemas/CampaignConditionDto"
          },
          "extraData": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferGrantContext": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string"
          },
          "campaignVersion": {
            "type": "string"
          },
          "nodeId": {
            "type": "string"
          },
          "outreachId": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "extraDataFed": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "expiresAtUnixSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "invalidatesOfferIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "conditionToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferGrantResponse": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string"
          },
          "offerId": {
            "type": "string"
          },
          "grantId": {
            "type": "string",
            "nullable": true
          },
          "success": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "retriable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferGroupDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "memberEntryIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignOfferGroupMode"
          },
          "invalidation": {
            "$ref": "#/components/schemas/CampaignOfferInvalidation"
          },
          "label": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferGroupMode": {
        "enum": [
          "All",
          "Exclusive"
        ],
        "type": "string"
      },
      "CampaignOfferInvalidation": {
        "enum": [
          "None",
          "Single",
          "Group"
        ],
        "type": "string"
      },
      "CampaignOfferItem": {
        "required": [
          "offerId"
        ],
        "type": "object",
        "properties": {
          "offerId": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "cost": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignOfferAmount"
            }
          },
          "rewards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignOfferAmount"
            }
          },
          "priceLabel": {
            "type": "string",
            "nullable": true
          },
          "available": {
            "type": "boolean"
          },
          "unavailableReasons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignOfferReason"
            }
          },
          "localizations": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/CampaignOfferText"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferReason": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferRedeemPayload": {
        "type": "object",
        "properties": {
          "transactionId": {
            "type": "string"
          },
          "params": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferRedeemResponse": {
        "type": "object",
        "properties": {
          "grantId": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignOfferState": {
        "enum": [
          "Granted",
          "Redeemed",
          "Revoked",
          "Expired"
        ],
        "type": "string"
      },
      "CampaignOfferText": {
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignOffersResponse": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string"
          },
          "offers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignOffer"
            }
          },
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CampaignSortField": {
        "enum": [
          "CreatedAt",
          "PublishedAt",
          "LastUpdatedAt",
          "Name",
          "CampaignId"
        ],
        "type": "string"
      },
      "CampaignStageFunnelDto": {
        "type": "object",
        "properties": {
          "sealed": {
            "type": "integer",
            "format": "int64"
          },
          "pending": {
            "type": "integer",
            "format": "int64"
          },
          "lagging": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CampaignStatusDto": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "phase": {
            "$ref": "#/components/schemas/CampaignLifecycle"
          }
        },
        "additionalProperties": false
      },
      "CampaignSummaryDto": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "phase": {
            "$ref": "#/components/schemas/CampaignLifecycle"
          },
          "createdBy": {
            "$ref": "#/components/schemas/AuthorDto"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "publishedBy": {
            "$ref": "#/components/schemas/AuthorDto"
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignSummaryDtoCampaignPageDto": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignSummaryDto"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "skip": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CancelInviteToParty": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          }
        },
        "additionalProperties": false
      },
      "CancelWorkflowRequest": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChallengeSolution": {
        "type": "object",
        "properties": {
          "challengeToken": {
            "type": "string",
            "nullable": true
          },
          "solution": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ClientAnalyticsEvent": {
        "type": "object",
        "properties": {
          "e": {
            "type": "string",
            "nullable": true
          },
          "p": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          },
          "time": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommentPullRequestRequest": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CommonResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CompleteDatasetFileUploadRequest": {
        "type": "object",
        "properties": {
          "parts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetFilePart"
            }
          }
        },
        "additionalProperties": false
      },
      "ConditionDto": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/ConditionKind"
          },
          "parts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConditionDto"
            },
            "nullable": true
          },
          "segment": {
            "type": "string",
            "nullable": true
          },
          "event": {
            "type": "string",
            "nullable": true
          },
          "property": {
            "$ref": "#/components/schemas/PropertyBoundDto"
          }
        },
        "additionalProperties": false
      },
      "ConditionKind": {
        "enum": [
          "And",
          "Or",
          "InSegment",
          "SawEvent"
        ],
        "type": "string"
      },
      "ConditionalBodyDto": {
        "type": "object",
        "properties": {
          "expression": {
            "$ref": "#/components/schemas/ConditionDto"
          },
          "maxWaitMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConfigChangeRequest": {
        "type": "object",
        "properties": {
          "upserts": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "deletes": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConfigResponse": {
        "type": "object",
        "properties": {
          "config": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ConfigSaveRequest": {
        "type": "object",
        "properties": {
          "config": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ConnectionStringResponse": {
        "type": "object",
        "properties": {
          "connectionString": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ContextInfo": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string",
            "nullable": true
          },
          "device": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContextRuleFilter": {
        "type": "object",
        "properties": {
          "playerIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "playerIdOperationType": {
            "$ref": "#/components/schemas/PlayerRuleOperationType"
          },
          "paths": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pathsOperationType": {
            "$ref": "#/components/schemas/PathRuleOperationType"
          }
        },
        "additionalProperties": false
      },
      "CreateDatasetRequest": {
        "required": [
          "format",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "format": {
            "$ref": "#/components/schemas/DatasetFormat"
          },
          "csvOptions": {
            "$ref": "#/components/schemas/DatasetCsvOptions"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "identity": {
            "$ref": "#/components/schemas/SetDatasetIdentityRequest"
          }
        },
        "additionalProperties": false
      },
      "CreateFederatedGameServer": {
        "type": "object",
        "properties": {
          "matchType": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "ContentId"
          }
        },
        "additionalProperties": false
      },
      "CreateLobby": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "hasName": {
            "type": "boolean",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "hasDescription": {
            "type": "boolean",
            "readOnly": true
          },
          "restriction": {
            "$ref": "#/components/schemas/LobbyRestriction"
          },
          "hasRestriction": {
            "type": "boolean",
            "readOnly": true
          },
          "matchType": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "ContentId"
          },
          "hasMatchType": {
            "type": "boolean",
            "readOnly": true
          },
          "playerTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "nullable": true,
            "readOnly": true
          },
          "passcodeLength": {
            "type": "integer",
            "format": "int32"
          },
          "hasPasscodeLength": {
            "type": "boolean",
            "readOnly": true
          },
          "maxPlayers": {
            "type": "integer",
            "format": "int32"
          },
          "hasMaxPlayers": {
            "type": "boolean",
            "readOnly": true
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CreateParty": {
        "type": "object",
        "properties": {
          "restriction": {
            "type": "string",
            "nullable": true
          },
          "leader": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "maxSize": {
            "type": "integer",
            "format": "int32"
          },
          "memberTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CreateRealmRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "plan": {
            "type": "string",
            "nullable": true
          },
          "sharded": {
            "type": "boolean",
            "nullable": true
          },
          "parent": {
            "type": "string",
            "nullable": true
          },
          "isHidden": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateScmConnectionsRequest": {
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScmConnectionRequest"
            }
          }
        },
        "additionalProperties": false
      },
      "CreateSegmentRequest": {
        "type": "object",
        "properties": {
          "rule": {
            "$ref": "#/components/schemas/Rule"
          },
          "includes": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          },
          "excludes": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/SegmentPropertyInput"
            },
            "nullable": true
          },
          "scope": {
            "$ref": "#/components/schemas/SegmentScope"
          }
        },
        "additionalProperties": false
      },
      "CreateZoneRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "plan": {
            "type": "string",
            "nullable": true
          },
          "defaultRole": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CronTrigger": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "expression": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Customer": {
        "required": [
          "customerId",
          "name"
        ],
        "type": "object",
        "properties": {
          "customerId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "alias": {
            "type": "string",
            "nullable": true
          },
          "realms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Realm"
            }
          },
          "zones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Zone"
            }
          },
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Account"
            },
            "readOnly": true,
            "deprecated": true
          },
          "paymentStatus": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "activationStatus": {
            "$ref": "#/components/schemas/ActivationStatus"
          },
          "contact": {
            "type": "string",
            "nullable": true
          },
          "stripeCustomerId": {
            "type": "string",
            "nullable": true
          },
          "requiresCustomTier": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "config": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CustomerView": {
        "required": [
          "customerId",
          "name"
        ],
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "alias": {
            "type": "string",
            "nullable": true
          },
          "realms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RealmView"
            }
          }
        },
        "additionalProperties": false
      },
      "CustomersResponse": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customer"
            }
          }
        },
        "additionalProperties": false
      },
      "DataBinding": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "mode": {
            "$ref": "#/components/schemas/DataBindingMode"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DataBindingMode": {
        "enum": [
          "Materialized",
          "Virtualized"
        ],
        "type": "string"
      },
      "DataPoint": {
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "timeStamp": {
            "type": "string",
            "format": "date-time"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "DatabaseMeasurement": {
        "required": [
          "name",
          "units"
        ],
        "type": "object",
        "properties": {
          "dataPoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataPoint"
            }
          },
          "name": {
            "type": "string"
          },
          "units": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DatabaseMeasurements": {
        "required": [
          "databaseName"
        ],
        "type": "object",
        "properties": {
          "databaseName": {
            "type": "string"
          },
          "granularity": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "hostId": {
            "type": "string",
            "nullable": true
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "measurements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatabaseMeasurement"
            },
            "nullable": true
          },
          "processId": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "end": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Dataset": {
        "required": [
          "format",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "format": {
            "$ref": "#/components/schemas/DatasetFormat"
          },
          "csvOptions": {
            "$ref": "#/components/schemas/DatasetCsvOptions"
          },
          "identity": {
            "$ref": "#/components/schemas/DatasetIdentity"
          },
          "state": {
            "$ref": "#/components/schemas/DatasetState"
          },
          "schema": {
            "$ref": "#/components/schemas/DatasetSchema"
          },
          "schemaVersion": {
            "type": "integer",
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DatasetColumn": {
        "required": [
          "name",
          "sourceType",
          "status"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "sourceType": {
            "type": "string"
          },
          "catalogType": {
            "type": "string",
            "nullable": true
          },
          "suggestedType": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/DatasetColumnStatus"
          }
        },
        "additionalProperties": false
      },
      "DatasetColumnStatus": {
        "enum": [
          "Mapped",
          "Unmapped",
          "Conflicted"
        ],
        "type": "string"
      },
      "DatasetCsvOptions": {
        "type": "object",
        "properties": {
          "delimiter": {
            "type": "string",
            "nullable": true
          },
          "quote": {
            "type": "string",
            "nullable": true
          },
          "escape": {
            "type": "string",
            "nullable": true
          },
          "timestampFormat": {
            "type": "string",
            "nullable": true
          },
          "dateFormat": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DatasetFile": {
        "required": [
          "datasetId",
          "s3Key",
          "sizeBytes",
          "source"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "datasetId": {
            "type": "string"
          },
          "s3Key": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/DatasetFileSource"
          },
          "originalName": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "sizeBytes": {
            "type": "integer",
            "format": "int64"
          },
          "partSizeBytes": {
            "type": "integer",
            "format": "int64"
          },
          "checksum": {
            "type": "string",
            "nullable": true
          },
          "declaredSchema": {
            "$ref": "#/components/schemas/FileSchema"
          },
          "schema": {
            "$ref": "#/components/schemas/FileSchema"
          },
          "uploadId": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "$ref": "#/components/schemas/DatasetFileState"
          },
          "discardedKey": {
            "type": "string",
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/DatasetFileError"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DatasetFileError": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          },
          "detail": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DatasetFilePart": {
        "type": "object",
        "properties": {
          "partNumber": {
            "type": "integer",
            "format": "int32"
          },
          "eTag": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DatasetFilePartUploadUrlResponse": {
        "type": "object",
        "properties": {
          "partNumber": {
            "type": "integer",
            "format": "int32"
          },
          "uploadUrl": {
            "type": "string"
          },
          "uploadUrlExpiresAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DatasetFileSource": {
        "enum": [
          "Api",
          "Transfer"
        ],
        "type": "string"
      },
      "DatasetFileState": {
        "enum": [
          "AwaitingUpload",
          "Uploaded",
          "Ready",
          "Invalid"
        ],
        "type": "string"
      },
      "DatasetFileUploadResponse": {
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/DatasetFile"
          },
          "partCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DatasetFormat": {
        "enum": [
          "Parquet",
          "Csv"
        ],
        "type": "string"
      },
      "DatasetIdentity": {
        "required": [
          "externalIdColumn"
        ],
        "type": "object",
        "properties": {
          "externalIdColumn": {
            "type": "string"
          },
          "emailColumn": {
            "type": "string",
            "nullable": true
          },
          "providerService": {
            "type": "string"
          },
          "providerNamespace": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DatasetImport": {
        "required": [
          "datasetId",
          "operation",
          "target"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "datasetId": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/DatasetImportState"
          },
          "operation": {
            "$ref": "#/components/schemas/DatasetImportOperation"
          },
          "stages": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ImportStageState"
            }
          },
          "runner": {
            "$ref": "#/components/schemas/DatasetImportRunner"
          },
          "executions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportExecution"
            }
          },
          "transitions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportTransitionRecord"
            }
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "finishedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/ImportResult"
          },
          "error": {
            "$ref": "#/components/schemas/DatasetImportError"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DatasetImportError": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          },
          "detail": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DatasetImportIdPart": {
        "required": [
          "importId",
          "outputKey",
          "partNo",
          "sourceKey"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "importId": {
            "type": "string"
          },
          "partNo": {
            "type": "integer",
            "format": "int32"
          },
          "sourceKey": {
            "type": "string"
          },
          "sourceBytes": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "outputKey": {
            "type": "string"
          },
          "outputBytes": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "state": {
            "$ref": "#/components/schemas/DatasetImportIdPartState"
          },
          "attempts": {
            "type": "integer",
            "format": "int32"
          },
          "counts": {
            "$ref": "#/components/schemas/IdMappingCounts"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IdPartError"
            }
          },
          "error": {
            "$ref": "#/components/schemas/DatasetImportError"
          },
          "doneAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DatasetImportIdPartState": {
        "enum": [
          "Pending",
          "Done",
          "Failed"
        ],
        "type": "string"
      },
      "DatasetImportOperation": {
        "type": "object",
        "additionalProperties": false
      },
      "DatasetImportRunner": {
        "type": "object",
        "additionalProperties": false
      },
      "DatasetImportState": {
        "enum": [
          "Submitted",
          "PreparingAccounts",
          "Running",
          "Succeeded",
          "Failed",
          "Cancelled"
        ],
        "type": "string"
      },
      "DatasetSchema": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetColumn"
            }
          }
        },
        "additionalProperties": false
      },
      "DatasetState": {
        "enum": [
          "Created",
          "Queryable"
        ],
        "type": "string"
      },
      "DatasetTransferTargetResponse": {
        "type": "object",
        "properties": {
          "bucket": {
            "type": "string"
          },
          "prefix": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DeactivateMode": {
        "enum": [
          "Drain",
          "Hard"
        ],
        "type": "string"
      },
      "DeactivateRequestDto": {
        "type": "object",
        "properties": {
          "mode": {
            "$ref": "#/components/schemas/DeactivateMode"
          }
        },
        "additionalProperties": false
      },
      "DecoratorRefDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "decoratorType": {
            "type": "string"
          },
          "config": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "DeleteAnalyticsRowsRequest": {
        "type": "object",
        "properties": {
          "event": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/AnalyticsFindingKind"
          }
        },
        "additionalProperties": false
      },
      "DeleteAnalyticsRowsResponse": {
        "type": "object",
        "properties": {
          "queryExecutionId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DeleteRegistrationRequest": {
        "type": "object",
        "properties": {
          "routingKey": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeviceIdAuthRequest": {
        "type": "object",
        "properties": {
          "deviceId": {
            "type": "string",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Cid"
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "context": {
            "$ref": "#/components/schemas/ContextInfo"
          }
        },
        "additionalProperties": false
      },
      "DoubleListValue": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "DuplicateSegmentRequest": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EmptyMessage": {
        "type": "object",
        "additionalProperties": false
      },
      "EntryBodyDto": {
        "type": "object",
        "properties": {
          "trigger": {
            "$ref": "#/components/schemas/EntryTriggerDto"
          },
          "requalify": {
            "$ref": "#/components/schemas/RequalifyDto"
          }
        },
        "additionalProperties": false
      },
      "EntryTriggerDto": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/EntryTriggerKind"
          },
          "segment": {
            "type": "string",
            "nullable": true
          },
          "event": {
            "type": "string",
            "nullable": true
          },
          "windowMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EntryTriggerKind": {
        "enum": [
          "AutoSegment",
          "Event",
          "Inaction"
        ],
        "type": "string"
      },
      "ExactTrigger": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "executeAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ExtensionContentReference": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "contentId": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ExternalAuthRequest": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "nullable": true
          },
          "providerNamespace": {
            "type": "string",
            "nullable": true
          },
          "hasProviderNamespace": {
            "type": "boolean",
            "readOnly": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "challengeSolution": {
            "$ref": "#/components/schemas/ChallengeSolution"
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Cid"
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "context": {
            "$ref": "#/components/schemas/ContextInfo"
          }
        },
        "additionalProperties": false
      },
      "ExternalAuthResponse": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string",
            "nullable": true
          },
          "hasAccessToken": {
            "type": "boolean",
            "readOnly": true
          },
          "refreshToken": {
            "type": "string",
            "nullable": true
          },
          "hasRefreshToken": {
            "type": "boolean",
            "readOnly": true
          },
          "challengeToken": {
            "type": "string",
            "nullable": true
          },
          "hasChallengeToken": {
            "type": "boolean",
            "readOnly": true
          },
          "expiresInMs": {
            "type": "integer",
            "format": "int64"
          },
          "hasExpiresInMs": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ExternalIdentity": {
        "type": "object",
        "properties": {
          "providerService": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "providerNamespace": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "FederationRegistration": {
        "type": "object",
        "properties": {
          "serviceName": {
            "type": "string"
          },
          "routingKey": {
            "type": "string",
            "nullable": true
          },
          "federation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportedFederation"
            },
            "nullable": true
          },
          "trafficFilterEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "ttl": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FederationRegistrationResponse": {
        "type": "object",
        "properties": {
          "registrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FederationRegistration"
            }
          }
        },
        "additionalProperties": false
      },
      "FederationStagingState": {
        "required": [
          "batches"
        ],
        "type": "object",
        "properties": {
          "batches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchState"
            }
          }
        },
        "additionalProperties": false
      },
      "FederationType": {
        "enum": [
          "IFederatedLogin",
          "IFederatedInventory",
          "IFederatedCommerce",
          "IFederatedGameServer",
          "IFederatedPlayerInit",
          "IFederatedMessageRail",
          "IFederatedCampaignVirtualOffer"
        ],
        "type": "string"
      },
      "FileColumn": {
        "required": [
          "name",
          "sourceType"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "sourceType": {
            "type": "string"
          },
          "suggestedType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FileSchema": {
        "required": [
          "columns"
        ],
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileColumn"
            }
          }
        },
        "additionalProperties": false
      },
      "ForcedBundleEntry": {
        "type": "object",
        "properties": {
          "scope": {
            "type": "string"
          },
          "bundleName": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GetAllServiceLoggingContexts": {
        "type": "object",
        "properties": {
          "contexts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceLoggingContext"
            }
          }
        },
        "additionalProperties": false
      },
      "GetAnalyticsEventsResponse": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnalyticsEventEntry"
            }
          }
        },
        "additionalProperties": false
      },
      "GetAnalyticsSchemaFindingsResponse": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnalyticsSchemaFindingsEvent"
            }
          }
        },
        "additionalProperties": false
      },
      "GetBundleResponse": {
        "type": "object",
        "properties": {
          "bundle": {
            "$ref": "#/components/schemas/BundleView"
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "version": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "GetGamesResponse": {
        "type": "object",
        "properties": {
          "realms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RealmView"
            }
          }
        },
        "additionalProperties": false
      },
      "GetManifestContentUrlsRequest": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManifestContentItem"
            }
          },
          "expirationSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetManifestContentUrlsResponse": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManifestContentUrl"
            }
          }
        },
        "additionalProperties": false
      },
      "GetManifestsResponse": {
        "type": "object",
        "properties": {
          "manifests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Manifest"
            }
          }
        },
        "additionalProperties": false
      },
      "GetMetricsRequest": {
        "type": "object",
        "properties": {
          "metricName": {
            "type": "string"
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "format": "date-time"
          },
          "period": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetPullRequestResponse": {
        "type": "object",
        "properties": {
          "pullRequest": {
            "$ref": "#/components/schemas/ProposedManifest"
          },
          "diff": {
            "$ref": "#/components/schemas/ManifestDiffResponse"
          }
        },
        "additionalProperties": false
      },
      "GetRealmSecretResponse": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetServiceSecretResponse": {
        "type": "object",
        "properties": {
          "secret": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GetStagingStateResponse": {
        "required": [
          "perFederation"
        ],
        "type": "object",
        "properties": {
          "perFederation": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/FederationStagingState"
            }
          }
        },
        "additionalProperties": false
      },
      "GetStatsReconcileRunsResponse": {
        "type": "object",
        "properties": {
          "runs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsReconcileRunView"
            }
          }
        },
        "additionalProperties": false
      },
      "GetStatsResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "stats": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/StatsValue"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GetStatusResponse": {
        "type": "object",
        "properties": {
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceStatus"
            }
          },
          "isCurrent": {
            "type": "boolean"
          },
          "storageStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceStorageStatus"
            },
            "nullable": true
          },
          "bundles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManifestBundle"
            }
          }
        },
        "additionalProperties": false
      },
      "GetTemplatesResponse": {
        "type": "object",
        "properties": {
          "templates": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceTemplateView"
            }
          }
        },
        "additionalProperties": false
      },
      "GoalDto": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "predicate": {
            "$ref": "#/components/schemas/GoalPredicateDto"
          },
          "observePid": {
            "type": "string"
          },
          "timerMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GoalPredicateDto": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/GoalPredicateKind"
          },
          "event": {
            "type": "string",
            "nullable": true
          },
          "withinMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "predicates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GoalPredicateDto"
            },
            "nullable": true
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyBoundDto"
            },
            "nullable": true
          },
          "propertiesMode": {
            "$ref": "#/components/schemas/PropertyBoundsMode"
          },
          "observePid": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GoalPredicateKind": {
        "enum": [
          "EventOccurred",
          "EventAbsent",
          "AllOf",
          "AnyOf"
        ],
        "type": "string"
      },
      "GrantCampaignOfferRequest": {
        "required": [
          "federationId",
          "offerId",
          "playerId"
        ],
        "type": "object",
        "properties": {
          "federationId": {
            "type": "string"
          },
          "playerId": {
            "type": "string"
          },
          "offerId": {
            "type": "string"
          },
          "context": {
            "$ref": "#/components/schemas/CampaignOfferGrantContext"
          }
        },
        "additionalProperties": false
      },
      "GraphEdgeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "decorators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DecoratorRefDto"
            }
          }
        },
        "additionalProperties": false
      },
      "GraphNodeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "lane": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "$ref": "#/components/schemas/NodeBodyDto"
          },
          "outcomes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NodeOutcomeDto"
            }
          },
          "incomingDecorators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DecoratorRefDto"
            }
          },
          "outgoingDecorators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DecoratorRefDto"
            }
          }
        },
        "additionalProperties": false
      },
      "GuestAuthRequest": {
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Cid"
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "context": {
            "$ref": "#/components/schemas/ContextInfo"
          },
          "initProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "HttpCall": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "uri": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StringStringKeyValuePair"
            },
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IPAddress": {
        "type": "object",
        "properties": {
          "addressFamily": {
            "$ref": "#/components/schemas/AddressFamily"
          },
          "scopeId": {
            "type": "integer",
            "format": "int64"
          },
          "isIPv6Multicast": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv6LinkLocal": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv6SiteLocal": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv6Teredo": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv6UniqueLocal": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv4MappedToIPv6": {
            "type": "boolean",
            "readOnly": true
          },
          "address": {
            "type": "integer",
            "format": "int64",
            "deprecated": true
          }
        },
        "additionalProperties": false
      },
      "IdMappingCounts": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "integer",
            "format": "int64"
          },
          "accountsCreated": {
            "type": "integer",
            "format": "int64"
          },
          "accountsUpdated": {
            "type": "integer",
            "format": "int64"
          },
          "gamerTagsAdded": {
            "type": "integer",
            "format": "int64"
          },
          "emailsSkipped": {
            "type": "integer",
            "format": "int64"
          },
          "errors": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "IdPartError": {
        "required": [
          "externalId",
          "message"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ImportEventSummary": {
        "required": [
          "event"
        ],
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "nullable": true
          },
          "event": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportParamSummary"
            }
          }
        },
        "additionalProperties": false
      },
      "ImportExecution": {
        "required": [
          "by",
          "kind",
          "purpose",
          "ref",
          "request"
        ],
        "type": "object",
        "properties": {
          "kind": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          },
          "ref": {
            "type": "string"
          },
          "by": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/ImportExecutionRequest"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time"
          },
          "finishedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "state": {
            "type": "string"
          },
          "stats": {
            "$ref": "#/components/schemas/ImportExecutionStats"
          },
          "error": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ImportExecutionRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ImportExecutionStats": {
        "type": "object",
        "additionalProperties": false
      },
      "ImportExpression": {
        "type": "object",
        "properties": {
          "column": {
            "type": "string",
            "nullable": true
          },
          "constant": {
            "type": "string",
            "nullable": true
          },
          "generate": {
            "$ref": "#/components/schemas/ImportGenerator"
          },
          "format": {
            "type": "string",
            "nullable": true
          },
          "lookup": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "sameAs": {
            "type": "string",
            "nullable": true
          },
          "prefix": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ImportFileResult": {
        "required": [
          "key"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "sourceRows": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "rowsUnmatched": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "rowsUnmapped": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "rowsInvalidEvent": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ImportGenerator": {
        "enum": [
          "Uuid"
        ],
        "type": "string"
      },
      "ImportInvalidEvent": {
        "required": [
          "event"
        ],
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "nullable": true
          },
          "event": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "ImportParamSummary": {
        "required": [
          "key",
          "kind"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "kind": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ImportPreviewResponse": {
        "type": "object",
        "properties": {
          "due": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetFile"
            }
          },
          "imported": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetFile"
            }
          },
          "remaining": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetFile"
            }
          }
        },
        "additionalProperties": false
      },
      "ImportProgress": {
        "type": "object",
        "properties": {
          "phase": {
            "type": "string",
            "nullable": true
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "stage": {
            "type": "string",
            "nullable": true
          },
          "tasksTotal": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tasksCompleted": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tasksActive": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sourceRows": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "rowsUnmapped": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "rowsUnmatched": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "fraction": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ImportResponse": {
        "type": "object",
        "properties": {
          "import": {
            "$ref": "#/components/schemas/DatasetImport"
          },
          "progress": {
            "$ref": "#/components/schemas/ImportProgress"
          }
        },
        "additionalProperties": false
      },
      "ImportResult": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "sourceRows": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "rowsUnmatched": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "rowsUnmapped": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "actTimeMin": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "actTimeMax": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "rowsWritten": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportFileResult"
            }
          },
          "eventsWritten": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "eventsSkipped": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportEventSummary"
            }
          },
          "eventsTruncated": {
            "type": "boolean"
          },
          "rowsInvalidEvent": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "invalidEventsByScope": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportInvalidEvent"
            }
          }
        },
        "additionalProperties": false
      },
      "ImportStageState": {
        "type": "object",
        "properties": {
          "attempt": {
            "type": "integer",
            "format": "int32"
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "finishedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ImportTransitionRecord": {
        "required": [
          "by",
          "from",
          "to"
        ],
        "type": "object",
        "properties": {
          "from": {
            "$ref": "#/components/schemas/DatasetImportState"
          },
          "to": {
            "$ref": "#/components/schemas/DatasetImportState"
          },
          "at": {
            "type": "string",
            "format": "date-time"
          },
          "by": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Int32ListValue": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Int64ListValue": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "InviteToParty": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          }
        },
        "additionalProperties": false
      },
      "JobActivity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "executionId": {
            "type": "string",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "$ref": "#/components/schemas/JobState"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "jobName": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "JobActivityView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "$ref": "#/components/schemas/JobState"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "jobName": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "JobActivityViewCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobActivityView"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JobAnalytics": {
        "type": "object",
        "properties": {
          "consecutiveFailures": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "JobDefinition": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "triggers": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CronTrigger"
                },
                {
                  "$ref": "#/components/schemas/ExactTrigger"
                }
              ]
            }
          },
          "jobAction": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/HttpCall"
              },
              {
                "$ref": "#/components/schemas/PublishMessage"
              },
              {
                "$ref": "#/components/schemas/ServiceCall"
              }
            ]
          },
          "retryPolicy": {
            "$ref": "#/components/schemas/JobRetryPolicy"
          },
          "lastUpdate": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "nonce": {
            "type": "string",
            "nullable": true
          },
          "isUnique": {
            "type": "boolean"
          },
          "suspendedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "analytics": {
            "$ref": "#/components/schemas/JobAnalytics"
          }
        },
        "additionalProperties": false
      },
      "JobDefinitionSaveRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "triggers": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CronTrigger"
                },
                {
                  "$ref": "#/components/schemas/ExactTrigger"
                }
              ]
            }
          },
          "jobAction": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/HttpCall"
              },
              {
                "$ref": "#/components/schemas/PublishMessage"
              },
              {
                "$ref": "#/components/schemas/ServiceCall"
              }
            ]
          },
          "retryPolicy": {
            "$ref": "#/components/schemas/JobRetryPolicy"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "isUnique": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JobDefinitionView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "triggers": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CronTrigger"
                },
                {
                  "$ref": "#/components/schemas/ExactTrigger"
                }
              ]
            }
          },
          "jobAction": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/HttpCall"
              },
              {
                "$ref": "#/components/schemas/PublishMessage"
              },
              {
                "$ref": "#/components/schemas/ServiceCall"
              }
            ]
          },
          "retryPolicy": {
            "$ref": "#/components/schemas/JobRetryPolicy"
          },
          "lastUpdate": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "isUnique": {
            "type": "boolean"
          },
          "suspendedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "analytics": {
            "$ref": "#/components/schemas/JobAnalytics"
          },
          "owner": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "JobDefinitionViewCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobDefinitionView"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JobRetryPolicy": {
        "type": "object",
        "properties": {
          "maxRetryCount": {
            "type": "integer",
            "format": "int32"
          },
          "retryDelayMs": {
            "type": "integer",
            "format": "int32"
          },
          "useExponentialBackoff": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "JobState": {
        "enum": [
          "ENQUEUED",
          "DISPATCHED",
          "RUNNING",
          "DONE",
          "CANCELED",
          "SUSPENDED",
          "ERROR"
        ],
        "type": "string"
      },
      "JoinLobby": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "nullable": true,
            "readOnly": true
          },
          "passcode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JsonNode": {
        "type": "object",
        "properties": {
          "options": {
            "$ref": "#/components/schemas/JsonNodeOptions"
          },
          "parent": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "root": {
            "$ref": "#/components/schemas/JsonNode"
          }
        },
        "additionalProperties": false
      },
      "JsonNodeOptions": {
        "type": "object",
        "properties": {
          "propertyNameCaseInsensitive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "JsonWebKey": {
        "type": "object",
        "properties": {
          "alg": {
            "type": "string",
            "nullable": true
          },
          "crv": {
            "type": "string",
            "nullable": true
          },
          "d": {
            "type": "string",
            "nullable": true
          },
          "dp": {
            "type": "string",
            "nullable": true
          },
          "dq": {
            "type": "string",
            "nullable": true
          },
          "e": {
            "type": "string",
            "nullable": true
          },
          "k": {
            "type": "string",
            "nullable": true
          },
          "key_ops": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          },
          "kid": {
            "type": "string",
            "nullable": true
          },
          "kty": {
            "type": "string",
            "nullable": true
          },
          "n": {
            "type": "string",
            "nullable": true
          },
          "oth": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          },
          "p": {
            "type": "string",
            "nullable": true
          },
          "q": {
            "type": "string",
            "nullable": true
          },
          "qi": {
            "type": "string",
            "nullable": true
          },
          "use": {
            "type": "string",
            "nullable": true
          },
          "x": {
            "type": "string",
            "nullable": true
          },
          "x5c": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          },
          "x5t": {
            "type": "string",
            "nullable": true
          },
          "x5t#S256": {
            "type": "string",
            "nullable": true
          },
          "x5u": {
            "type": "string",
            "nullable": true
          },
          "y": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "JsonWebKeySet": {
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JsonWebKey"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": { }
      },
      "LeaveParty": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          }
        },
        "additionalProperties": false
      },
      "LegacyAccessToken": {
        "type": "object",
        "properties": {
          "ttl": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountIdRaw": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "cid": {
            "type": "integer",
            "format": "int64"
          },
          "gamerTag": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "type": "string"
          },
          "expiresMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "deviceId": {
            "type": "string",
            "nullable": true
          },
          "platform": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string"
          },
          "revoked": {
            "type": "boolean",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "readOnly": true
          },
          "gameId": {
            "type": "string",
            "nullable": true
          },
          "realmId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "playerId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Link": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string"
          },
          "rel": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ListBundleReleasesResponse": {
        "type": "object",
        "properties": {
          "releases": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BundleRelease"
            }
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ListBundlesResponse": {
        "type": "object",
        "properties": {
          "bundles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BundleSummary"
            }
          }
        },
        "additionalProperties": false
      },
      "ListDataBindingsResponse": {
        "type": "object",
        "properties": {
          "bindings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataBinding"
            }
          }
        },
        "additionalProperties": false
      },
      "ListDatasetFilesResponse": {
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetFile"
            }
          }
        },
        "additionalProperties": false
      },
      "ListDatasetsResponse": {
        "type": "object",
        "properties": {
          "datasets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Dataset"
            }
          }
        },
        "additionalProperties": false
      },
      "ListForcedBundlesResponse": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ForcedBundleEntry"
            }
          }
        },
        "additionalProperties": false
      },
      "ListImportIdPartsResponse": {
        "type": "object",
        "properties": {
          "parts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetImportIdPart"
            }
          }
        },
        "additionalProperties": false
      },
      "ListImportsResponse": {
        "type": "object",
        "properties": {
          "imports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetImport"
            }
          }
        },
        "additionalProperties": false
      },
      "ListMutationRequest": {
        "required": [
          "playerIds"
        ],
        "type": "object",
        "properties": {
          "playerIds": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "expectedActiveId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ListMutationResult": {
        "required": [
          "fromVersion",
          "toVersion"
        ],
        "type": "object",
        "properties": {
          "fromVersion": {
            "type": "integer",
            "format": "int32"
          },
          "toVersion": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ListPullRequestsResponse": {
        "type": "object",
        "properties": {
          "pullRequests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProposedManifest"
            }
          }
        },
        "additionalProperties": false
      },
      "ListScmConnectionsResponse": {
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScmConnection"
            }
          }
        },
        "additionalProperties": false
      },
      "ListTokensResponse": {
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RefreshTokenResponse"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Lobby": {
        "type": "object",
        "properties": {
          "lobbyId": {
            "type": "string",
            "nullable": true
          },
          "matchType": {
            "$ref": "#/components/schemas/MatchType"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "host": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "players": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LobbyPlayer"
            },
            "nullable": true,
            "readOnly": true
          },
          "passcode": {
            "type": "string",
            "nullable": true
          },
          "restriction": {
            "$ref": "#/components/schemas/LobbyRestriction"
          },
          "maxPlayers": {
            "type": "integer",
            "format": "int32"
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "LobbyPlayer": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "nullable": true,
            "readOnly": true
          },
          "joined": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LobbyQueryResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Lobby"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "LobbyRestriction": {
        "enum": [
          "Null",
          "Closed",
          "Open"
        ],
        "type": "string"
      },
      "LogContextRule": {
        "required": [
          "enabled",
          "logLevel",
          "ruleFilters"
        ],
        "type": "object",
        "properties": {
          "ruleId": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "author": {
            "$ref": "#/components/schemas/LogContextRuleAuthor"
          },
          "whoLastEdit": {
            "$ref": "#/components/schemas/LogContextRuleAuthor"
          },
          "createdAt": {
            "type": "integer",
            "format": "int64"
          },
          "updatedAt": {
            "type": "integer",
            "format": "int64"
          },
          "expiresAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "logLevel": {
            "$ref": "#/components/schemas/LogLevel"
          },
          "ruleFilters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContextRuleFilter"
            }
          }
        },
        "additionalProperties": false
      },
      "LogContextRuleAuthor": {
        "required": [
          "accountId"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "LogLevel": {
        "enum": [
          "Trace",
          "Debug",
          "Information",
          "Warning",
          "Error",
          "Critical",
          "None"
        ],
        "type": "string"
      },
      "LogProvider": {
        "enum": [
          "Cloudwatch",
          "Clickhouse"
        ],
        "type": "string"
      },
      "Manifest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "serviceReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceReference"
            }
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "createdByAccountId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "checksum": {
            "type": "string",
            "readOnly": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "storageReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceStorageReference"
            }
          },
          "storageGroupId": {
            "type": "string",
            "nullable": true
          },
          "portalExtensionReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortalExtensionReference"
            }
          },
          "schemaReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SchemaReference"
            }
          },
          "schemaVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "references": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "bundles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManifestBundle"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ManifestBundle": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          },
          "publisherFullScope": {
            "type": "string"
          },
          "forced": {
            "type": "boolean"
          },
          "services": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "storages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "portalExtensions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "schemas": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ManifestChecksum": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ManifestContentItem": {
        "type": "object",
        "properties": {
          "contentId": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ManifestContentUrl": {
        "type": "object",
        "properties": {
          "contentId": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ManifestDiffChange": {
        "enum": [
          "Added",
          "Changed",
          "Removed"
        ],
        "type": "string"
      },
      "ManifestDiffEntry": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "change": {
            "$ref": "#/components/schemas/ManifestDiffChange"
          }
        },
        "additionalProperties": false
      },
      "ManifestDiffResponse": {
        "type": "object",
        "properties": {
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManifestDiffEntry"
            }
          },
          "references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReferenceDiffEntry"
            }
          }
        },
        "additionalProperties": false
      },
      "Match": {
        "type": "object",
        "properties": {
          "matchId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "matchType": {
            "$ref": "#/components/schemas/MatchType"
          },
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Team"
            },
            "nullable": true,
            "readOnly": true
          },
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ticket"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "MatchType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "ContentId"
          },
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TeamContentProto"
            },
            "nullable": true,
            "readOnly": true
          },
          "waitAfterMinReachedSecs": {
            "type": "integer",
            "format": "int32"
          },
          "maxWaitDurationSecs": {
            "type": "integer",
            "format": "int32"
          },
          "matchingIntervalSecs": {
            "type": "integer",
            "format": "int32"
          },
          "federatedGameServerNamespace": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MembershipCheckResponse": {
        "required": [
          "isMember"
        ],
        "type": "object",
        "properties": {
          "isMember": {
            "type": "boolean"
          },
          "enteredAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "sources": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MembershipSource"
            }
          }
        },
        "additionalProperties": false
      },
      "MembershipQueryRequest": {
        "required": [
          "playerIds",
          "segmentIds"
        ],
        "type": "object",
        "properties": {
          "playerIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "segmentIds": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "MembershipQueryResponse": {
        "required": [
          "results"
        ],
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlayerMembershipResult"
            }
          }
        },
        "additionalProperties": false
      },
      "MembershipSource": {
        "enum": [
          "Rule",
          "IncludeList"
        ],
        "type": "string"
      },
      "MessageRailRegistrationResponse": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MessageRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "nullable": true
          },
          "pid": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "hasPid": {
            "type": "boolean",
            "readOnly": true
          },
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "hasPlayerId": {
            "type": "boolean",
            "readOnly": true
          },
          "channel": {
            "type": "string",
            "nullable": true
          },
          "hasChannel": {
            "type": "boolean",
            "readOnly": true
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "hasRealmId": {
            "type": "boolean",
            "readOnly": true
          },
          "singleDelivery": {
            "type": "boolean"
          },
          "hasSingleDelivery": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "NewCustomerRequest": {
        "required": [
          "email",
          "password",
          "realmName"
        ],
        "type": "object",
        "properties": {
          "realmName": {
            "type": "string"
          },
          "customerName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "hierarchy": {
            "type": "boolean"
          },
          "alias": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NewCustomerResponse": {
        "required": [
          "customerId",
          "name",
          "realmId",
          "realmName",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "$ref": "#/components/schemas/AuthResponse"
          },
          "customerId": {
            "type": "string"
          },
          "realmId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "alias": {
            "type": "string",
            "nullable": true
          },
          "realmName": {
            "type": "string"
          },
          "activationPending": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "NewGameRequest": {
        "required": [
          "gameName"
        ],
        "type": "object",
        "properties": {
          "gameName": {
            "type": "string"
          },
          "isHidden": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NodeBodyDto": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/NodeKind"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryBodyDto"
          },
          "segment": {
            "$ref": "#/components/schemas/SegmentBodyDto"
          },
          "conditional": {
            "$ref": "#/components/schemas/ConditionalBodyDto"
          },
          "schedule": {
            "$ref": "#/components/schemas/ScheduleBodyDto"
          },
          "send": {
            "$ref": "#/components/schemas/SendBodyDto"
          },
          "customProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NodeKind": {
        "enum": [
          "Entry",
          "Segment",
          "Conditional",
          "Schedule",
          "Send"
        ],
        "type": "string"
      },
      "NodeOutcomeDto": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "timing": {
            "$ref": "#/components/schemas/OutcomeTiming"
          }
        },
        "additionalProperties": false
      },
      "OnlineStatus": {
        "type": "object",
        "properties": {
          "online": {
            "type": "boolean"
          },
          "lastOnline": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "status": {
            "$ref": "#/components/schemas/PresenceStatus"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OnlineStatusQuery": {
        "type": "object",
        "properties": {
          "playerIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "OpenIdConfigResponse": {
        "required": [
          "issuer",
          "jwks_uri"
        ],
        "type": "object",
        "properties": {
          "issuer": {
            "type": "string"
          },
          "jwks_uri": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Operator": {
        "enum": [
          "Unspecified",
          "Eq",
          "Neq",
          "Gt",
          "Gte",
          "Lt",
          "Lte",
          "In",
          "NotIn",
          "Between",
          "Contains",
          "Exists",
          "NotExists"
        ],
        "type": "string"
      },
      "OrderDirection": {
        "enum": [
          "Desc",
          "Asc"
        ],
        "type": "string"
      },
      "OtelAuthConfig": {
        "required": [
          "endpoint",
          "password",
          "username"
        ],
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string",
            "format": "uri"
          },
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OtelView": {
        "required": [
          "accountId",
          "name",
          "query"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "isPublic": {
            "type": "boolean"
          },
          "isFavorite": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "OtelViewsResponse": {
        "required": [
          "views"
        ],
        "type": "object",
        "properties": {
          "views": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OtelView"
            }
          }
        },
        "additionalProperties": false
      },
      "OutcomeTiming": {
        "enum": [
          "Immediate",
          "Delayed"
        ],
        "type": "string"
      },
      "PANamespace": {
        "required": [
          "namespace",
          "type"
        ],
        "type": "object",
        "properties": {
          "namespace": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PASlowQuery": {
        "required": [
          "line",
          "namespace"
        ],
        "type": "object",
        "properties": {
          "line": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PASuggestedIndex": {
        "required": [
          "id",
          "impact",
          "index",
          "namespace",
          "weight"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "impact": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "index": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          "namespace": {
            "type": "string"
          },
          "weight": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Party": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "restriction": {
            "type": "string",
            "nullable": true
          },
          "leader": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "members": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "maxSize": {
            "type": "integer",
            "format": "int32"
          },
          "pendingInvites": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "membersTags": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagList"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PartyInvitation": {
        "type": "object",
        "properties": {
          "partyId": {
            "type": "string",
            "nullable": true
          },
          "invitedBy": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PartyInvitesForPlayerResponse": {
        "type": "object",
        "properties": {
          "invitations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartyInvitation"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PartyMemberTags": {
        "type": "object",
        "properties": {
          "memberTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PasswordAuthRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Cid"
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "context": {
            "$ref": "#/components/schemas/ContextInfo"
          }
        },
        "additionalProperties": false
      },
      "PathRuleOperationType": {
        "enum": [
          "Include",
          "Contain",
          "StartsWith",
          "EndsWith"
        ],
        "type": "string"
      },
      "PaymentStatus": {
        "enum": [
          "Free",
          "Paid",
          "Banned"
        ],
        "type": "string"
      },
      "PaymentTotal": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PlayerMembershipResult": {
        "required": [
          "inSegments",
          "playerId"
        ],
        "type": "object",
        "properties": {
          "playerId": {
            "type": "integer",
            "format": "int64"
          },
          "inSegments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "PlayerRuleOperationType": {
        "enum": [
          "Include",
          "GreaterThan",
          "LesserThan"
        ],
        "type": "string"
      },
      "PlayerSegmentInfo": {
        "required": [
          "enteredAt",
          "segmentId",
          "sources"
        ],
        "type": "object",
        "properties": {
          "segmentId": {
            "type": "string"
          },
          "enteredAt": {
            "type": "string",
            "format": "date-time"
          },
          "sources": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MembershipSource"
            }
          }
        },
        "additionalProperties": false
      },
      "PlayerStatsResult": {
        "required": [
          "playerId",
          "stats"
        ],
        "type": "object",
        "properties": {
          "playerId": {
            "type": "integer",
            "format": "int64"
          },
          "stats": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/StatsValue"
            }
          }
        },
        "additionalProperties": false
      },
      "PlayersBatchGetRequest": {
        "required": [
          "domain",
          "playerIds",
          "visibility"
        ],
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/StatsVisibility"
          },
          "playerIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlayersBatchGetResponse": {
        "required": [
          "results"
        ],
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlayerStatsResult"
            }
          }
        },
        "additionalProperties": false
      },
      "PlayersStatusResponse": {
        "type": "object",
        "properties": {
          "playersStatus": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OnlineStatus"
            }
          }
        },
        "additionalProperties": false
      },
      "PortalExtensionReference": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionContentReference"
            }
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "dependencies": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "checksum": {
            "type": "string",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PortalSessionResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PostManifestRequest": {
        "type": "object",
        "properties": {
          "manifest": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceReference"
            }
          },
          "storageReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceStorageReference"
            }
          },
          "portalExtensionReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortalExtensionReference"
            },
            "nullable": true
          },
          "schemaReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SchemaReference"
            },
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "autoDeploy": {
            "type": "boolean"
          },
          "schemaVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "references": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PresenceStatus": {
        "enum": [
          "Visible",
          "Invisible",
          "Dnd",
          "Away"
        ],
        "type": "string"
      },
      "PreviewSegmentRequest": {
        "type": "object",
        "properties": {
          "rule": {
            "$ref": "#/components/schemas/Rule"
          },
          "includes": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          },
          "excludes": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "Promotable": {
        "required": [
          "checksum",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "checksum": {
            "type": "string"
          },
          "createdAt": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PromotableType": {
        "enum": [
          "Content",
          "Microservices"
        ],
        "type": "string"
      },
      "PromoteBeamoManifestRequest": {
        "required": [
          "sourceRealmId"
        ],
        "type": "object",
        "properties": {
          "sourceRealmId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PromoteBundleTagRequest": {
        "type": "object",
        "properties": {
          "checksum": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PromoteNewLeader": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          }
        },
        "additionalProperties": false
      },
      "PromoteRealmRequest": {
        "required": [
          "sourceRealmId"
        ],
        "type": "object",
        "properties": {
          "sourceRealmId": {
            "type": "string"
          },
          "promotions": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PromotableType"
            },
            "nullable": true
          },
          "contentManifestIds": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PromoteRealmResponse": {
        "required": [
          "sourceRealmId"
        ],
        "type": "object",
        "properties": {
          "sourceRealmId": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PromotionScope"
            }
          }
        },
        "additionalProperties": false
      },
      "PromoteZoneRequest": {
        "required": [
          "sourceZoneId"
        ],
        "type": "object",
        "properties": {
          "sourceZoneId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PromoteZoneResponse": {
        "required": [
          "sourceZoneId"
        ],
        "type": "object",
        "properties": {
          "sourceZoneId": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PromotionScope"
            }
          }
        },
        "additionalProperties": false
      },
      "Promotion": {
        "required": [
          "destination",
          "id",
          "source"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/Promotable"
          },
          "destination": {
            "$ref": "#/components/schemas/Promotable"
          }
        },
        "additionalProperties": false
      },
      "PromotionScope": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/PromotableType"
          },
          "promotions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Promotion"
            }
          }
        },
        "additionalProperties": false
      },
      "PropertyAggregate": {
        "enum": [
          "Count",
          "Sum",
          "Avg",
          "Min",
          "Max"
        ],
        "type": "string"
      },
      "PropertyBoundDto": {
        "type": "object",
        "properties": {
          "propertyName": {
            "type": "string"
          },
          "min": {
            "$ref": "#/components/schemas/BoundDto"
          },
          "max": {
            "$ref": "#/components/schemas/BoundDto"
          },
          "setOp": {
            "$ref": "#/components/schemas/PropertySetOp"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "target": {
            "$ref": "#/components/schemas/PropertyBoundTarget"
          }
        },
        "additionalProperties": false
      },
      "PropertyBoundTarget": {
        "enum": [
          "Value",
          "Count"
        ],
        "type": "string"
      },
      "PropertyBoundsMode": {
        "enum": [
          "All",
          "Any"
        ],
        "type": "string"
      },
      "PropertyKind": {
        "enum": [
          "Static",
          "Computed"
        ],
        "type": "string"
      },
      "PropertySetOp": {
        "enum": [
          "ContainsAny",
          "ContainsAll",
          "ContainsNone",
          "IsOneOf",
          "IsNoneOf"
        ],
        "type": "string"
      },
      "PropertySource": {
        "enum": [
          "Live",
          "Snapshot"
        ],
        "type": "string"
      },
      "ProposedManifest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "$ref": "#/components/schemas/PullRequestStatus"
          },
          "submittedByAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceScopeId": {
            "type": "string",
            "nullable": true
          },
          "proposed": {
            "$ref": "#/components/schemas/PostManifestRequest"
          },
          "aclWidenings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullRequestAclWidening"
            }
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullRequestComment"
            }
          },
          "resolvedByAccountId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "resolvedAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "lastApplyError": {
            "type": "string",
            "nullable": true
          },
          "resultManifestId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProtoError": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublishBundleRequest": {
        "type": "object",
        "properties": {
          "serviceReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceReference"
            }
          },
          "storageReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceStorageReference"
            }
          },
          "portalExtensionReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortalExtensionReference"
            }
          },
          "schemaReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SchemaReference"
            }
          },
          "bundleDependencies": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/BundleDepRange"
            }
          },
          "tag": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublishBundleResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          },
          "isNew": {
            "type": "boolean"
          },
          "version": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PublishMessage": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "persist": {
            "type": "boolean"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublishRequestDto": {
        "type": "object",
        "properties": {
          "graph": {
            "$ref": "#/components/schemas/CampaignGraphDto"
          },
          "priorMode": {
            "$ref": "#/components/schemas/DeactivateMode"
          }
        },
        "additionalProperties": false
      },
      "PublishResponseDto": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "version": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isNewVersion": {
            "type": "boolean"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignChangeErrorDto"
            }
          },
          "changes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignChangeDto"
            }
          }
        },
        "additionalProperties": false
      },
      "PullRequestAclWidening": {
        "type": "object",
        "properties": {
          "bundleName": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          },
          "scope": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PullRequestComment": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "message": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PullRequestStatus": {
        "enum": [
          "Pending",
          "Approved",
          "Rejected",
          "Superseded"
        ],
        "type": "string"
      },
      "PutRealmSecretRequest": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "QueryResponse": {
        "type": "object",
        "properties": {
          "queryId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Realm": {
        "required": [
          "name",
          "plan"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "secret": {
            "type": "string"
          },
          "plan": {
            "type": "string"
          },
          "sharded": {
            "type": "boolean",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "parent": {
            "type": "string",
            "nullable": true
          },
          "zoneId": {
            "type": "string",
            "nullable": true
          },
          "children": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "config": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "isArchived": {
            "type": "boolean",
            "nullable": true
          },
          "hidden": {
            "type": "boolean",
            "nullable": true
          },
          "customCharts": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "deprecated": true
          }
        },
        "additionalProperties": false
      },
      "RealmAssociation": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "gamerTag": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "RealmConfiguration": {
        "required": [
          "environment",
          "microserviceEcrUri",
          "microserviceUri",
          "portalUri",
          "storageBrowserUri",
          "websocketConfig"
        ],
        "type": "object",
        "properties": {
          "environment": {
            "type": "string"
          },
          "websocketConfig": {
            "$ref": "#/components/schemas/WebSocketConfiguration"
          },
          "microserviceUri": {
            "type": "string"
          },
          "microserviceEcrUri": {
            "type": "string"
          },
          "portalUri": {
            "type": "string"
          },
          "storageBrowserUri": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RealmDataKeyInfo": {
        "required": [
          "createdAt",
          "id",
          "provider"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RealmDataKeyInfoCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RealmDataKeyInfo"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RealmReconcileResult": {
        "type": "object",
        "properties": {
          "segments": {
            "type": "integer",
            "format": "int32"
          },
          "entered": {
            "type": "integer",
            "format": "int32"
          },
          "exited": {
            "type": "integer",
            "format": "int32"
          },
          "maxMatched": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "RealmSecretInfo": {
        "required": [
          "algorithm",
          "dataKeyId",
          "key",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "dataKeyId": {
            "type": "string"
          },
          "algorithm": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RealmSecretInfoCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RealmSecretInfo"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RealmSecretsAuditInfo": {
        "required": [
          "operation",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "operation": {
            "$ref": "#/components/schemas/RealmSecretsOperation"
          },
          "secretKey": {
            "type": "string",
            "nullable": true
          },
          "rc": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RealmSecretsAuditInfoCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RealmSecretsAuditInfo"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RealmSecretsOperation": {
        "enum": [
          "Get",
          "Put",
          "Delete",
          "RotateDataKey"
        ],
        "type": "string"
      },
      "RealmView": {
        "required": [
          "displayName",
          "realmId"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "realmId": {
            "type": "string"
          },
          "customerId": {
            "type": "string",
            "nullable": true
          },
          "sharded": {
            "type": "boolean",
            "nullable": true
          },
          "zoneId": {
            "type": "string",
            "nullable": true
          },
          "parent": {
            "type": "string",
            "nullable": true
          },
          "children": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "archived": {
            "type": "boolean"
          },
          "secret": {
            "type": "string",
            "nullable": true
          },
          "hidden": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "RecentlyOnlineResponse": {
        "type": "object",
        "properties": {
          "playerIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "RedeemCampaignOfferRequest": {
        "required": [
          "federationId",
          "grantId",
          "playerId"
        ],
        "type": "object",
        "properties": {
          "federationId": {
            "type": "string"
          },
          "playerId": {
            "type": "string"
          },
          "grantId": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/CampaignOfferRedeemPayload"
          }
        },
        "additionalProperties": false
      },
      "ReferenceDiffEntry": {
        "type": "object",
        "properties": {
          "bundleName": {
            "type": "string"
          },
          "oldChecksum": {
            "type": "string",
            "nullable": true
          },
          "newChecksum": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RefreshToken": {
        "type": "object",
        "properties": {
          "ttl": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountIdRaw": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "cid": {
            "type": "integer",
            "format": "int64"
          },
          "gamerTag": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "type": "string"
          },
          "expiresMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "deviceId": {
            "type": "string",
            "nullable": true
          },
          "platform": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string"
          },
          "revoked": {
            "type": "boolean",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "readOnly": true
          },
          "gameId": {
            "type": "string",
            "nullable": true
          },
          "realmId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "playerId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "RefreshTokenAuthRequest": {
        "type": "object",
        "properties": {
          "refreshToken": {
            "type": "string",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Cid"
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          },
          "context": {
            "$ref": "#/components/schemas/ContextInfo"
          }
        },
        "additionalProperties": false
      },
      "RefreshTokenResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RegisterDatasetFileRequest": {
        "required": [
          "checksum",
          "fileName",
          "sizeBytes"
        ],
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "integer",
            "format": "int64"
          },
          "checksum": {
            "type": "string"
          },
          "declaredSchema": {
            "$ref": "#/components/schemas/FileSchema"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "partSizeBytes": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "RegisterUserWithMessageRailRequest": {
        "required": [
          "federationId",
          "playerId",
          "registrationData"
        ],
        "type": "object",
        "properties": {
          "federationId": {
            "type": "string"
          },
          "playerId": {
            "type": "string"
          },
          "registrationData": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "RemoveFromLobby": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          }
        },
        "additionalProperties": false
      },
      "RemoveTags": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "RenameRealmRequest": {
        "required": [
          "newName"
        ],
        "type": "object",
        "properties": {
          "newName": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RenameZoneRequest": {
        "required": [
          "newName"
        ],
        "type": "object",
        "properties": {
          "newName": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ReportRailFunnelStageRequest": {
        "required": [
          "federationId",
          "outreachId",
          "stage"
        ],
        "type": "object",
        "properties": {
          "outreachId": {
            "type": "string"
          },
          "federationId": {
            "type": "string"
          },
          "stage": {
            "type": "string"
          },
          "analyticsTrackRef": {
            "type": "string",
            "nullable": true
          },
          "externalSystemTrackId": {
            "type": "string",
            "nullable": true
          },
          "gamerTag": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "RequalifyDto": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/RequalifyKind"
          },
          "cooldownMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RequalifyKind": {
        "enum": [
          "Never",
          "Immediately",
          "After"
        ],
        "type": "string"
      },
      "RevokeCampaignOfferRequest": {
        "required": [
          "federationId",
          "grantId",
          "playerId"
        ],
        "type": "object",
        "properties": {
          "federationId": {
            "type": "string"
          },
          "playerId": {
            "type": "string"
          },
          "grantId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RevokeRefreshTokensRequest": {
        "required": [
          "tokens"
        ],
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "RoleAssociation": {
        "type": "object",
        "properties": {
          "realmId": {
            "type": "string"
          },
          "roleString": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RoleMappingView": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "role": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RotateRealmDataKeyResponse": {
        "type": "object",
        "properties": {
          "dataKeyId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Rule": {
        "type": "object",
        "properties": {
          "leaf": {
            "$ref": "#/components/schemas/RuleLeaf"
          },
          "and": {
            "$ref": "#/components/schemas/RuleAnd"
          },
          "or": {
            "$ref": "#/components/schemas/RuleOr"
          },
          "not": {
            "$ref": "#/components/schemas/RuleNot"
          },
          "ruleCase": {
            "$ref": "#/components/schemas/RuleOneofCase"
          }
        },
        "additionalProperties": false
      },
      "RuleAnd": {
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Rule"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "RuleLeaf": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "op": {
            "$ref": "#/components/schemas/Operator"
          },
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsValue"
            },
            "nullable": true,
            "readOnly": true
          },
          "ns": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RuleNot": {
        "type": "object",
        "properties": {
          "rule": {
            "$ref": "#/components/schemas/Rule"
          }
        },
        "additionalProperties": false
      },
      "RuleOneofCase": {
        "enum": [
          "None",
          "Leaf",
          "And",
          "Or",
          "Not"
        ],
        "type": "string"
      },
      "RuleOr": {
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Rule"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "SaveBinaryContentRequest": {
        "type": "object",
        "properties": {
          "binary": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BinaryContentDefinition"
            }
          }
        },
        "additionalProperties": false
      },
      "SaveBinaryContentResponse": {
        "type": "object",
        "properties": {
          "binary": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BinaryContentUploadUrl"
            }
          }
        },
        "additionalProperties": false
      },
      "SaveDraftResponseDto": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignChangeErrorDto"
            }
          }
        },
        "additionalProperties": false
      },
      "ScheduleBodyDto": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/ScheduleKind"
          },
          "delayMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "when": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ScheduleKind": {
        "enum": [
          "DelayFor",
          "SendNow",
          "AtDateTime"
        ],
        "type": "string"
      },
      "SchemaReference": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "contentId": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "checksum": {
            "type": "string",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ScmConnection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "providerType": {
            "$ref": "#/components/schemas/ScmProviderType"
          },
          "url": {
            "type": "string"
          },
          "defaultRef": {
            "type": "string"
          },
          "workspacePath": {
            "type": "string"
          },
          "branchPrefix": {
            "type": "string"
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "credentialUpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "hasCredential": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ScmConnectionRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "providerType": {
            "$ref": "#/components/schemas/ScmProviderType"
          },
          "url": {
            "type": "string"
          },
          "defaultRef": {
            "type": "string",
            "nullable": true
          },
          "workspacePath": {
            "type": "string",
            "nullable": true
          },
          "branchPrefix": {
            "type": "string",
            "nullable": true
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ScmConnectionUpdate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "providerType": {
            "$ref": "#/components/schemas/ScmProviderType"
          },
          "url": {
            "type": "string"
          },
          "defaultRef": {
            "type": "string",
            "nullable": true
          },
          "workspacePath": {
            "type": "string",
            "nullable": true
          },
          "branchPrefix": {
            "type": "string",
            "nullable": true
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "ScmProviderType": {
        "enum": [
          "Git"
        ],
        "type": "string"
      },
      "SegmentAttribute": {
        "required": [
          "computed",
          "description",
          "domain",
          "key",
          "namespace",
          "type",
          "visibility"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "visibility": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "computed": {
            "type": "boolean"
          },
          "custom": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SegmentAuditChange": {
        "type": "object",
        "properties": {
          "before": {
            "type": "string",
            "nullable": true
          },
          "after": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentAuditInfo": {
        "required": [
          "caller",
          "operation",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "operation": {
            "$ref": "#/components/schemas/SegmentationOperation"
          },
          "segmentId": {
            "type": "string",
            "nullable": true
          },
          "caller": {
            "$ref": "#/components/schemas/CallerInfo"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "changes": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/SegmentAuditChange"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentAuditInfoCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentAuditInfo"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentBodyDto": {
        "type": "object",
        "properties": {
          "segment": {
            "type": "string"
          },
          "evaluationWindowMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentClearResponse": {
        "required": [
          "cleared"
        ],
        "type": "object",
        "properties": {
          "cleared": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SegmentCountResponse": {
        "required": [
          "count"
        ],
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "evaluating": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SegmentEvaluationStatus": {
        "required": [
          "phase"
        ],
        "type": "object",
        "properties": {
          "phase": {
            "type": "string"
          },
          "removed": {
            "type": "integer",
            "format": "int64"
          },
          "added": {
            "type": "integer",
            "format": "int64"
          },
          "members": {
            "type": "integer",
            "format": "int64"
          },
          "checked": {
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentFlowBucketResponse": {
        "required": [
          "entered",
          "exited",
          "memberCountEnd",
          "net",
          "start"
        ],
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "format": "date-time"
          },
          "entered": {
            "type": "integer",
            "format": "int64"
          },
          "exited": {
            "type": "integer",
            "format": "int64"
          },
          "net": {
            "type": "integer",
            "format": "int64"
          },
          "reevaluationEntered": {
            "type": "integer",
            "format": "int64"
          },
          "reevaluationExited": {
            "type": "integer",
            "format": "int64"
          },
          "memberCountEnd": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "SegmentFlowResponse": {
        "required": [
          "buckets",
          "coverageStartsAt",
          "from",
          "maxWindowDays",
          "memberCount",
          "requestedFrom",
          "segmentId",
          "to",
          "totals",
          "truncated"
        ],
        "type": "object",
        "properties": {
          "segmentId": {
            "type": "string"
          },
          "from": {
            "type": "string",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "format": "date-time"
          },
          "requestedFrom": {
            "type": "string",
            "format": "date-time"
          },
          "truncated": {
            "type": "boolean"
          },
          "maxWindowDays": {
            "type": "integer",
            "format": "int32"
          },
          "coverageStartsAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastEvaluatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "memberCount": {
            "type": "integer",
            "format": "int64"
          },
          "totals": {
            "$ref": "#/components/schemas/SegmentFlowTotals"
          },
          "buckets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentFlowBucketResponse"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ruleChanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentRuleChange"
            }
          },
          "versions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentFlowVersion"
            }
          },
          "unique": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentFlowUniqueWindow"
            }
          },
          "uniqueUnavailable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SegmentFlowTotals": {
        "required": [
          "entered",
          "exited",
          "net"
        ],
        "type": "object",
        "properties": {
          "entered": {
            "type": "integer",
            "format": "int64"
          },
          "exited": {
            "type": "integer",
            "format": "int64"
          },
          "net": {
            "type": "integer",
            "format": "int64"
          },
          "reevaluationEntered": {
            "type": "integer",
            "format": "int64"
          },
          "reevaluationExited": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "SegmentFlowUniqueWindow": {
        "required": [
          "coveredDays",
          "days",
          "entered",
          "exited",
          "net"
        ],
        "type": "object",
        "properties": {
          "days": {
            "type": "integer",
            "format": "int32"
          },
          "coveredDays": {
            "type": "integer",
            "format": "int32"
          },
          "entered": {
            "type": "integer",
            "format": "int64"
          },
          "exited": {
            "type": "integer",
            "format": "int64"
          },
          "net": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "SegmentFlowVersion": {
        "required": [
          "covered",
          "from",
          "ruleChanged",
          "state",
          "version"
        ],
        "type": "object",
        "properties": {
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "from": {
            "type": "string",
            "format": "date-time"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ruleText": {
            "type": "string",
            "nullable": true
          },
          "ruleChanged": {
            "type": "boolean"
          },
          "state": {
            "$ref": "#/components/schemas/SegmentState"
          },
          "covered": {
            "type": "boolean"
          },
          "entered": {
            "type": "integer",
            "format": "int64"
          },
          "exited": {
            "type": "integer",
            "format": "int64"
          },
          "reevaluationEntered": {
            "type": "integer",
            "format": "int64"
          },
          "reevaluationExited": {
            "type": "integer",
            "format": "int64"
          },
          "memberCountStart": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "memberCountEnd": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentMemberInfo": {
        "required": [
          "enteredAt",
          "playerId",
          "sources"
        ],
        "type": "object",
        "properties": {
          "playerId": {
            "type": "integer",
            "format": "int64"
          },
          "enteredAt": {
            "type": "string",
            "format": "date-time"
          },
          "sources": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MembershipSource"
            }
          }
        },
        "additionalProperties": false
      },
      "SegmentMemberInfoCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentMemberInfo"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentPropertyInput": {
        "type": "object",
        "properties": {
          "value": {
            "nullable": true
          },
          "aggregate": {
            "$ref": "#/components/schemas/PropertyAggregate"
          },
          "attribute": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentPropertyResponse": {
        "required": [
          "kind"
        ],
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/PropertyKind"
          },
          "value": {
            "nullable": true
          },
          "aggregate": {
            "$ref": "#/components/schemas/PropertyAggregate"
          },
          "attribute": {
            "type": "string",
            "nullable": true
          },
          "computedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "memberCount": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentRealmPropertiesResponse": {
        "required": [
          "computedAt",
          "memberCount",
          "realmId",
          "values",
          "version"
        ],
        "type": "object",
        "properties": {
          "realmId": {
            "type": "string"
          },
          "memberCount": {
            "type": "integer",
            "format": "int64"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "computedAt": {
            "type": "string",
            "format": "date-time"
          },
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double",
              "nullable": true
            }
          },
          "source": {
            "$ref": "#/components/schemas/PropertySource"
          },
          "asOf": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "rebuilding": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SegmentRealmStatus": {
        "required": [
          "realmId"
        ],
        "type": "object",
        "properties": {
          "realmId": {
            "type": "string"
          },
          "evaluating": {
            "type": "boolean"
          },
          "evaluatingSince": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "evaluation": {
            "$ref": "#/components/schemas/SegmentEvaluationStatus"
          },
          "lastEvaluatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "memberCount": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentReconcileResult": {
        "type": "object",
        "properties": {
          "entered": {
            "type": "integer",
            "format": "int32"
          },
          "exited": {
            "type": "integer",
            "format": "int32"
          },
          "matched": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SegmentResponse": {
        "required": [
          "description",
          "displayName",
          "properties",
          "scope",
          "segmentId",
          "state",
          "version",
          "watchedKeys"
        ],
        "type": "object",
        "properties": {
          "segmentId": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "scope": {
            "$ref": "#/components/schemas/SegmentScope"
          },
          "realmId": {
            "type": "string",
            "nullable": true
          },
          "rule": {
            "$ref": "#/components/schemas/Rule"
          },
          "ruleText": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/SegmentPropertyResponse"
            }
          },
          "state": {
            "$ref": "#/components/schemas/SegmentState"
          },
          "watchedKeys": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastEvaluatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "memberCount": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "memberCountAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "evaluating": {
            "type": "boolean"
          },
          "evaluatingSince": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "evaluation": {
            "$ref": "#/components/schemas/SegmentEvaluationStatus"
          }
        },
        "additionalProperties": false
      },
      "SegmentResponseCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentResponse"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentRuleChange": {
        "required": [
          "at",
          "version"
        ],
        "type": "object",
        "properties": {
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "at": {
            "type": "string",
            "format": "date-time"
          },
          "ruleText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentScope": {
        "enum": [
          "Customer",
          "Realm"
        ],
        "type": "string"
      },
      "SegmentState": {
        "enum": [
          "Active",
          "Disabled",
          "Archived"
        ],
        "type": "string"
      },
      "SegmentStatusBatchResponse": {
        "required": [
          "missing",
          "segments"
        ],
        "type": "object",
        "properties": {
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentStatusResponse"
            }
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "SegmentStatusRequest": {
        "required": [
          "segmentIds"
        ],
        "type": "object",
        "properties": {
          "segmentIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "realmId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentStatusResponse": {
        "required": [
          "properties",
          "realms",
          "scope",
          "segmentId",
          "state",
          "version"
        ],
        "type": "object",
        "properties": {
          "segmentId": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "scope": {
            "$ref": "#/components/schemas/SegmentScope"
          },
          "realmId": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "$ref": "#/components/schemas/SegmentState"
          },
          "evaluating": {
            "type": "boolean"
          },
          "evaluatingSince": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "evaluation": {
            "$ref": "#/components/schemas/SegmentEvaluationStatus"
          },
          "lastEvaluatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "memberCount": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "memberCountAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/SegmentPropertyResponse"
            }
          },
          "propertiesRebuilding": {
            "type": "boolean"
          },
          "realms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentRealmStatus"
            }
          }
        },
        "additionalProperties": false
      },
      "SegmentStintInfo": {
        "required": [
          "enteredAt",
          "enteredVersion",
          "exitCause",
          "exitedAt",
          "exitedVersion",
          "playerId",
          "segmentId",
          "sources"
        ],
        "type": "object",
        "properties": {
          "segmentId": {
            "type": "string"
          },
          "playerId": {
            "type": "integer",
            "format": "int64"
          },
          "enteredAt": {
            "type": "string",
            "format": "date-time"
          },
          "exitedAt": {
            "type": "string",
            "format": "date-time"
          },
          "enteredVersion": {
            "type": "integer",
            "format": "int32"
          },
          "exitedVersion": {
            "type": "integer",
            "format": "int32"
          },
          "exitCause": {
            "$ref": "#/components/schemas/TransitionCause"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MembershipSource"
            }
          }
        },
        "additionalProperties": false
      },
      "SegmentStintInfoCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentStintInfo"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentTransitionInfo": {
        "required": [
          "cause",
          "kind",
          "playerId",
          "ruleVersion",
          "segmentId",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "segmentId": {
            "type": "string"
          },
          "playerId": {
            "type": "integer",
            "format": "int64"
          },
          "ruleVersion": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "$ref": "#/components/schemas/TransitionKind"
          },
          "cause": {
            "$ref": "#/components/schemas/TransitionCause"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SegmentTransitionInfoCursorPagedResult": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentTransitionInfo"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "freshnessTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentationOperation": {
        "enum": [
          "Create",
          "UpdateRule",
          "UpdateMetadata",
          "ChangeState",
          "IncludeAdd",
          "IncludeRemove",
          "ExcludeAdd",
          "ExcludeRemove",
          "CrossScopeRead"
        ],
        "type": "string"
      },
      "SendBodyDto": {
        "type": "object",
        "properties": {
          "railFederationId": {
            "type": "string"
          },
          "targetPid": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "goals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GoalDto"
            }
          },
          "maxWaitMs": {
            "type": "integer",
            "format": "int64"
          },
          "deliveryMaxWaitMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "campaignOffers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignOfferDto"
            },
            "nullable": true
          },
          "campaignOfferGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignOfferGroupDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SendMessageRecipient": {
        "required": [
          "gamerTag"
        ],
        "type": "object",
        "properties": {
          "gamerTag": {
            "type": "integer",
            "format": "int64"
          },
          "outreachId": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SendMessagesRequest": {
        "required": [
          "externalSystemTrackId",
          "federationId",
          "recipients"
        ],
        "type": "object",
        "properties": {
          "recipients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SendMessageRecipient"
            }
          },
          "federationId": {
            "type": "string"
          },
          "externalSystemTrackId": {
            "type": "string"
          },
          "analyticsTrackRef": {
            "type": "string",
            "nullable": true
          },
          "extraDataFed": {
            "nullable": true
          },
          "deliveryLimitTimeSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "delaySeconds": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "SendMessagesResponse": {
        "required": [
          "trackId"
        ],
        "type": "object",
        "properties": {
          "trackId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ServerTokenAuthRequest": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string",
            "nullable": true
          },
          "clientSecret": {
            "type": "string",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Cid"
          },
          "realmId": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "Pid"
          }
        },
        "additionalProperties": false
      },
      "ServerTokenResponse": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServiceCall": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "uri": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StringStringKeyValuePair"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServiceComponent": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ServiceDependencyReference": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "storageType": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ServiceLoggingContext": {
        "required": [
          "defaultLogLevel",
          "routingKey",
          "serviceName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "serviceName": {
            "type": "string"
          },
          "routingKey": {
            "type": "string"
          },
          "defaultLogLevel": {
            "$ref": "#/components/schemas/LogLevel"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LogContextRule"
            }
          }
        },
        "additionalProperties": false
      },
      "ServiceReference": {
        "type": "object",
        "properties": {
          "serviceName": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string"
          },
          "templateId": {
            "type": "string"
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "containerHealthCheckPort": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dependencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceDependencyReference"
            },
            "nullable": true
          },
          "archived": {
            "type": "boolean"
          },
          "imageCpuArch": {
            "type": "string",
            "nullable": true
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceComponent"
            },
            "nullable": true
          },
          "logProvider": {
            "$ref": "#/components/schemas/LogProvider"
          },
          "checksum": {
            "type": "string",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ServiceRegistration": {
        "type": "object",
        "properties": {
          "instanceCount": {
            "type": "integer",
            "format": "int32"
          },
          "serviceName": {
            "type": "string"
          },
          "cid": {
            "type": "string"
          },
          "pid": {
            "type": "string"
          },
          "beamoName": {
            "type": "string",
            "nullable": true
          },
          "routingKey": {
            "type": "string",
            "nullable": true
          },
          "startedById": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "federation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportedFederation"
            },
            "nullable": true
          },
          "trafficFilterEnabled": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServiceRegistrationQuery": {
        "type": "object",
        "properties": {
          "serviceName": {
            "type": "string",
            "nullable": true
          },
          "routingKey": {
            "type": "string",
            "nullable": true
          },
          "localOnly": {
            "type": "boolean",
            "nullable": true
          },
          "federation": {
            "$ref": "#/components/schemas/SupportedFederation"
          }
        },
        "additionalProperties": false
      },
      "ServiceRegistrationRequest": {
        "type": "object",
        "properties": {
          "routingKey": {
            "type": "string",
            "nullable": true
          },
          "federation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportedFederation"
            },
            "nullable": true
          },
          "trafficFilterEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ServiceRegistrationResponse": {
        "type": "object",
        "properties": {
          "registrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceRegistration"
            }
          }
        },
        "additionalProperties": false
      },
      "ServiceStatus": {
        "type": "object",
        "properties": {
          "serviceName": {
            "type": "string"
          },
          "running": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string"
          },
          "isCurrent": {
            "type": "boolean"
          },
          "serviceDependencyReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceDependencyReference"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServiceStorageReference": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "storageType": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "templateId": {
            "type": "string",
            "nullable": true
          },
          "archived": {
            "type": "boolean"
          },
          "checksum": {
            "type": "string",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ServiceStorageStatus": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "storageType": {
            "type": "string"
          },
          "isRunning": {
            "type": "boolean"
          },
          "isCurrent": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ServiceTemplateView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SessionClientHistoryResponse": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "sessions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "installDate": {
            "type": "string",
            "nullable": true
          },
          "daysPlayed": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SessionHistoryResponse": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "sessions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "installDate": {
            "type": "string",
            "nullable": true
          },
          "totalPaid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentTotal"
            }
          },
          "daysPlayed": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SessionLanguageContextDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "ctx": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetDataBindingRequest": {
        "type": "object",
        "properties": {
          "namespace": {
            "type": "string"
          },
          "mode": {
            "$ref": "#/components/schemas/DataBindingMode"
          }
        },
        "additionalProperties": false
      },
      "SetDatasetIdentityRequest": {
        "required": [
          "externalIdColumn"
        ],
        "type": "object",
        "properties": {
          "externalIdColumn": {
            "type": "string"
          },
          "emailColumn": {
            "type": "string",
            "nullable": true
          },
          "providerService": {
            "type": "string",
            "nullable": true
          },
          "providerNamespace": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetForcedBundleRequest": {
        "type": "object",
        "properties": {
          "checksum": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SetLobbyResponse": {
        "type": "object",
        "properties": {
          "lobbyId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetPresenceStatusRequest": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PresenceStatus"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetRealmZoneRequest": {
        "type": "object",
        "properties": {
          "zoneId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetSegmentStateRequest": {
        "required": [
          "to"
        ],
        "type": "object",
        "properties": {
          "to": {
            "$ref": "#/components/schemas/SegmentState"
          }
        },
        "additionalProperties": false
      },
      "SetStatsRequest": {
        "type": "object",
        "properties": {
          "set": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/StatsValue"
            },
            "nullable": true,
            "readOnly": true
          },
          "add": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/StatsValue"
            },
            "nullable": true,
            "readOnly": true
          },
          "emitAnalytics": {
            "type": "boolean"
          },
          "hasEmitAnalytics": {
            "type": "boolean",
            "readOnly": true
          },
          "reduce": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/StatReductions"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "SetZoneRoleRequest": {
        "required": [
          "role"
        ],
        "type": "object",
        "properties": {
          "role": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SignedRequest": {
        "type": "object",
        "properties": {
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StringStringKeyValuePair"
            }
          },
          "url": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "method": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "StartServiceLogsRequest": {
        "type": "object",
        "properties": {
          "serviceName": {
            "type": "string"
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "order": {
            "$ref": "#/components/schemas/OrderDirection"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StartSessionRequest": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string",
            "nullable": true
          },
          "device": {
            "type": "string",
            "nullable": true
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "$ref": "#/components/schemas/SessionLanguageContextDto"
          },
          "customParams": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StartStatsReconcileRequest": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "format": "date"
          },
          "to": {
            "type": "string",
            "format": "date"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "importId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StartStatsReconcileResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "StatMapping": {
        "type": "object",
        "properties": {
          "namespace": {
            "type": "string"
          },
          "stat": {
            "type": "string"
          },
          "reduce": {
            "$ref": "#/components/schemas/StatReduce"
          },
          "type": {
            "$ref": "#/components/schemas/StatValueType"
          },
          "property": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "StatReduce": {
        "enum": [
          "Latest",
          "Min",
          "Max"
        ],
        "type": "string"
      },
      "StatReduction": {
        "type": "object",
        "properties": {
          "op": {
            "$ref": "#/components/schemas/StatReduce"
          },
          "value": {
            "$ref": "#/components/schemas/StatsValue"
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StatReductions": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatReduction"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "StatValueType": {
        "enum": [
          "Int",
          "Long",
          "Double",
          "Bool",
          "String"
        ],
        "type": "string"
      },
      "StatsReconcileChunkView": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "format": "date"
          },
          "to": {
            "type": "string",
            "format": "date"
          },
          "queryExecutionId": {
            "type": "string",
            "nullable": true
          },
          "partsExpected": {
            "type": "integer",
            "format": "int32"
          },
          "partsDone": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "StatsReconcileCounts": {
        "type": "object",
        "properties": {
          "statsApplied": {
            "type": "integer",
            "format": "int64"
          },
          "valuesDropped": {
            "type": "integer",
            "format": "int64"
          },
          "errors": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "StatsReconcileMapping": {
        "type": "object",
        "properties": {
          "event": {
            "type": "string"
          },
          "mapping": {
            "$ref": "#/components/schemas/StatMapping"
          }
        },
        "additionalProperties": false
      },
      "StatsReconcileRunView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/StatsReconcileState"
          },
          "from": {
            "type": "string",
            "format": "date"
          },
          "to": {
            "type": "string",
            "format": "date"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "importId": {
            "type": "string",
            "nullable": true
          },
          "mappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsReconcileMapping"
            }
          },
          "orderDependentStats": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "chunks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsReconcileChunkView"
            }
          },
          "currentChunk": {
            "type": "integer",
            "format": "int32"
          },
          "counts": {
            "$ref": "#/components/schemas/StatsReconcileCounts"
          },
          "error": {
            "$ref": "#/components/schemas/DatasetImportError"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "finishedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StatsReconcileState": {
        "enum": [
          "Submitted",
          "Running",
          "Succeeded",
          "Failed",
          "Cancelled"
        ],
        "type": "string"
      },
      "StatsSearchCriteria": {
        "required": [
          "rel",
          "stat"
        ],
        "type": "object",
        "properties": {
          "stat": {
            "type": "string"
          },
          "rel": {
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/StatsValue"
          }
        },
        "additionalProperties": false
      },
      "StatsSearchExtendedRequest": {
        "required": [
          "domain",
          "itemType",
          "visibility"
        ],
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/StatsVisibility"
          },
          "itemType": {
            "type": "string"
          },
          "criteria": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsSearchCriteria"
            }
          },
          "statKeys": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "StatsSearchExtendedResponse": {
        "required": [
          "limit",
          "offset",
          "results",
          "total"
        ],
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetStatsResponse"
            }
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "StatsSearchRequest": {
        "required": [
          "domain",
          "itemType",
          "visibility"
        ],
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/StatsVisibility"
          },
          "itemType": {
            "type": "string"
          },
          "criteria": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsSearchCriteria"
            }
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "StatsSearchResponse": {
        "required": [
          "ids",
          "limit",
          "offset",
          "total"
        ],
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "StatsSubscribeRequest": {
        "required": [
          "service",
          "subscriptions"
        ],
        "type": "object",
        "properties": {
          "service": {
            "type": "string"
          },
          "subscriptions": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "StatsTarget": {
        "required": [
          "domain",
          "id",
          "itemType",
          "visibility"
        ],
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/StatsVisibility"
          },
          "itemType": {
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "StatsUnsubscribeRequest": {
        "required": [
          "service"
        ],
        "type": "object",
        "properties": {
          "service": {
            "type": "string"
          },
          "subscriptions": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StatsValue": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          },
          {
            "type": "number",
            "format": "double"
          },
          {
            "type": "boolean"
          },
          {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "boolean"
                }
              ]
            }
          }
        ],
        "description": "A stat value: string, integer, number (double), boolean, or a homogeneous array of primitives."
      },
      "StatsVisibility": {
        "enum": [
          "Private",
          "Public"
        ],
        "type": "string"
      },
      "StoragePerformance": {
        "required": [
          "databaseMeasurements",
          "indexes",
          "namespaces",
          "queries"
        ],
        "type": "object",
        "properties": {
          "namespaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PANamespace"
            }
          },
          "indexes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PASuggestedIndex"
            }
          },
          "queries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PASlowQuery"
            }
          },
          "databaseMeasurements": {
            "$ref": "#/components/schemas/DatabaseMeasurements"
          }
        },
        "additionalProperties": false
      },
      "StringListValue": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "StringStringKeyValuePair": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StripeSubscriptionResponse": {
        "required": [
          "status",
          "tier"
        ],
        "type": "object",
        "properties": {
          "tier": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SubmitPullRequestRequest": {
        "type": "object",
        "properties": {
          "proposed": {
            "$ref": "#/components/schemas/PostManifestRequest"
          },
          "sourceScopeId": {
            "type": "string",
            "nullable": true
          },
          "aclWidenings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullRequestAclWidening"
            }
          },
          "comment": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubmitPullRequestResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SupportedFederation": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/FederationType"
          },
          "nameSpace": {
            "type": "string",
            "nullable": true
          },
          "settings": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Tag": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TagList": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Team": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "players": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true,
            "x-beamable-semantic-type": "Gamertag"
          }
        },
        "additionalProperties": false
      },
      "TeamContentProto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "maxPlayers": {
            "type": "integer",
            "format": "int32"
          },
          "minPlayers": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ThirdPartyAssociation": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "appId": {
            "type": "string"
          },
          "userAppId": {
            "type": "string"
          },
          "userBusinessId": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "meta": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "Ticket": {
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "expires": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "players": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "matchType": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "ContentId"
          },
          "matchId": {
            "type": "string",
            "nullable": true
          },
          "stringProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true,
            "readOnly": true
          },
          "numberProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "readOnly": true
          },
          "team": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "partyId": {
            "type": "string",
            "nullable": true
          },
          "watchOnlineStatus": {
            "type": "boolean"
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagList"
            },
            "nullable": true,
            "readOnly": true
          },
          "lobbyId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TicketQueryResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ticket"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "TicketReservationRequest": {
        "type": "object",
        "properties": {
          "players": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true,
            "x-beamable-semantic-type": "Gamertag"
          },
          "matchTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true,
            "x-beamable-semantic-type": "ContentId"
          },
          "maxWaitDurationSecs": {
            "type": "integer",
            "format": "int32"
          },
          "team": {
            "type": "string",
            "nullable": true
          },
          "watchOnlineStatus": {
            "type": "boolean"
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagList"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "TicketReservationResponse": {
        "type": "object",
        "properties": {
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ticket"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "TransitionCause": {
        "enum": [
          "Rule",
          "IncludeList",
          "ExcludeList",
          "StateChange",
          "Reevaluation"
        ],
        "type": "string"
      },
      "TransitionKind": {
        "enum": [
          "Enter",
          "Exit"
        ],
        "type": "string"
      },
      "UnregisterUserWithMessageRailRequest": {
        "required": [
          "federationId",
          "playerId"
        ],
        "type": "object",
        "properties": {
          "federationId": {
            "type": "string"
          },
          "playerId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateBundleAclRequest": {
        "type": "object",
        "properties": {
          "scope": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateData": {
        "type": "object",
        "properties": {
          "updates": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true,
            "readOnly": true
          },
          "deletes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "UpdateDatasetRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "format": {
            "$ref": "#/components/schemas/DatasetFormat"
          },
          "csvOptions": {
            "$ref": "#/components/schemas/DatasetCsvOptions"
          }
        },
        "additionalProperties": false
      },
      "UpdateGameHierarchyRequest": {
        "required": [
          "realms"
        ],
        "type": "object",
        "properties": {
          "realms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RealmView"
            }
          }
        },
        "additionalProperties": false
      },
      "UpdateLobby": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "restriction": {
            "$ref": "#/components/schemas/LobbyRestriction"
          },
          "hasRestriction": {
            "type": "boolean",
            "readOnly": true
          },
          "matchType": {
            "type": "string",
            "nullable": true,
            "x-beamable-semantic-type": "ContentId"
          },
          "maxPlayers": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "newHost": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/UpdateData"
          }
        },
        "additionalProperties": false
      },
      "UpdateOtelViewRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "query": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "nullable": true
          },
          "isFavorite": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateParty": {
        "type": "object",
        "properties": {
          "restriction": {
            "type": "string",
            "nullable": true
          },
          "maxSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdatePartyTags": {
        "type": "object",
        "properties": {
          "playerId": {
            "type": "string",
            "nullable": true
          },
          "memberTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "UpdateRealmRequest": {
        "type": "object",
        "properties": {
          "archiveStatus": {
            "type": "boolean",
            "nullable": true
          },
          "hiddenStatus": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateScmConnectionsRequest": {
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScmConnectionUpdate"
            }
          }
        },
        "additionalProperties": false
      },
      "UpdateSegmentRequest": {
        "type": "object",
        "properties": {
          "rule": {
            "$ref": "#/components/schemas/Rule"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/SegmentPropertyInput"
            },
            "nullable": true
          },
          "expectedActiveId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UriResponse": {
        "type": "object",
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri"
          },
          "repositoryNames": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ValueOneofCase": {
        "enum": [
          "None",
          "StringValue",
          "DoubleValue",
          "BoolValue",
          "LongValue",
          "IntValue",
          "StringListValue",
          "DoubleListValue",
          "BoolListValue",
          "LongListValue",
          "IntListValue"
        ],
        "type": "string"
      },
      "WebSocketConfiguration": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string"
          },
          "uri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkflowStatus": {
        "enum": [
          "Pending",
          "Running",
          "Completed",
          "Failed"
        ],
        "type": "string"
      },
      "WorkflowStatusResponse": {
        "type": "object",
        "properties": {
          "executionId": {
            "type": "string",
            "nullable": true
          },
          "workflowType": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/WorkflowStatus"
          },
          "currentStepIndex": {
            "type": "integer",
            "format": "int32"
          },
          "currentStepRetryCount": {
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "YankBundleResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "checksum": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Zone": {
        "required": [
          "plan",
          "zoneId"
        ],
        "type": "object",
        "properties": {
          "zoneId": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "plan": {
            "type": "string"
          },
          "config": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "defaultRoleString": {
            "type": "string",
            "nullable": true
          },
          "origin": {
            "$ref": "#/components/schemas/ZoneOrigin"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "isArchived": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ZoneOrigin": {
        "enum": [
          "Bootstrapped",
          "User"
        ],
        "type": "string"
      },
      "ZoneRoleAssociation": {
        "type": "object",
        "properties": {
          "zoneId": {
            "type": "string"
          },
          "roleString": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ZoneView": {
        "required": [
          "displayName",
          "origin",
          "plan",
          "zoneId"
        ],
        "type": "object",
        "properties": {
          "zoneId": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "secret": {
            "type": "string",
            "nullable": true
          },
          "plan": {
            "type": "string"
          },
          "defaultRole": {
            "type": "string",
            "nullable": true
          },
          "origin": {
            "$ref": "#/components/schemas/ZoneOrigin"
          },
          "archived": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ZonesResponse": {
        "type": "object",
        "properties": {
          "zones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ZoneView"
            }
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "user": {
        "type": "http",
        "description": "Bearer authentication with a player access token in the Authorization header.",
        "scheme": "bearer",
        "bearerFormat": "Bearer {token}"
      },
      "server": {
        "type": "apiKey",
        "description": "Signed Request authentication using project secret key.",
        "name": "X-BEAM-SIGNATURE",
        "in": "header"
      }
    }
  },
  "tags": [
    {
      "name": "Account"
    },
    {
      "name": "Analytics"
    },
    {
      "name": "AnalyticsSchemaFindings"
    },
    {
      "name": "AnalyticsStatsReconcile"
    },
    {
      "name": "Auth"
    },
    {
      "name": "Beamo"
    },
    {
      "name": "BeamoBundle"
    },
    {
      "name": "BeamoForcedBundle"
    },
    {
      "name": "BeamoOtel"
    },
    {
      "name": "BeamoPullRequest"
    },
    {
      "name": "Billing"
    },
    {
      "name": "Campaign"
    },
    {
      "name": "CampaignOffer"
    },
    {
      "name": "Customer"
    },
    {
      "name": "CustomerSegments"
    },
    {
      "name": "DataBinding"
    },
    {
      "name": "Dataset"
    },
    {
      "name": "DatasetFile"
    },
    {
      "name": "DatasetImport"
    },
    {
      "name": "Lobby"
    },
    {
      "name": "Mailbox"
    },
    {
      "name": "Match"
    },
    {
      "name": "MessageRail"
    },
    {
      "name": "Party"
    },
    {
      "name": "PlayerLobby"
    },
    {
      "name": "PlayerParty"
    },
    {
      "name": "PlayerPresence"
    },
    {
      "name": "PlayerSegments"
    },
    {
      "name": "PlayerSession"
    },
    {
      "name": "PlayerStats"
    },
    {
      "name": "PlayerTicket"
    },
    {
      "name": "Presence"
    },
    {
      "name": "RealmSecrets"
    },
    {
      "name": "Scheduler"
    },
    {
      "name": "Secrets"
    },
    {
      "name": "Segments"
    },
    {
      "name": "Session"
    },
    {
      "name": "SourceControl"
    },
    {
      "name": "Stats"
    },
    {
      "name": "Ticket"
    },
    {
      "name": "Workflow"
    },
    {
      "name": "Zones"
    }
  ],
  "externalDocs": {
    "description": "Beamable Documentation",
    "url": "https://docs.beamable.com"
  }
}