{ "openapi": "3.1.1", "info": { "title": "FinalFactory.Rendezvous.Server | v1", "version": "1.0.0" }, "paths": { "/health/live": { "get": { "tags": [ "Health" ], "operationId": "GetLiveness", "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthResponse" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/health/ready": { "get": { "tags": [ "Health" ], "operationId": "GetReadiness", "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthResponse" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } } } } } }, "/v1/sessions": { "post": { "tags": [ "Sessions" ], "operationId": "RegisterSession", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterSessionRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterSessionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "409": { "description": "Conflict", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "410": { "description": "Gone", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "PublisherBearer": [ ] } ] }, "get": { "tags": [ "Sessions" ], "operationId": "BrowseSessions", "parameters": [ { "name": "contractVersion", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "gameId", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "environmentId", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "protocolVersion", "in": "query", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "regionId", "in": "query", "schema": { "type": "string" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "excludeFull", "in": "query", "schema": { "type": "boolean" } }, { "name": "cursor", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowseSessionsResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/sessions/{listingId}/renew": { "post": { "tags": [ "Sessions" ], "operationId": "RenewSessionLease", "parameters": [ { "name": "listingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenewLeaseRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenewLeaseResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "409": { "description": "Conflict", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "410": { "description": "Gone", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "PublisherBearer": [ ] } ] } }, "/v1/sessions/{listingId}": { "put": { "tags": [ "Sessions" ], "operationId": "UpdateSession", "parameters": [ { "name": "listingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSessionRequest" } } }, "required": true }, "responses": { "204": { "description": "No Content", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "PublisherBearer": [ ] } ] }, "delete": { "tags": [ "Sessions" ], "operationId": "DeleteSession", "parameters": [ { "name": "listingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteSessionRequest" } } }, "required": true }, "responses": { "204": { "description": "No Content", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "PublisherBearer": [ ] } ] }, "get": { "tags": [ "Sessions" ], "operationId": "GetSession", "parameters": [ { "name": "listingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "contractVersion", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "gameId", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "environmentId", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "protocolVersion", "in": "query", "required": true, "schema": { "type": "integer", "format": "uint32" } } ], "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetSessionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/sessions/{listingId}/join-attempts": { "get": { "tags": [ "Sessions" ], "operationId": "BrowseHostJoinAttempts", "parameters": [ { "name": "listingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "contractVersion", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "X-Rendezvous-Lease-Token", "in": "header", "required": true, "schema": { "type": "string" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "cursor", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowseHostJoinAttemptsResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/join-attempts": { "post": { "tags": [ "Join attempts" ], "operationId": "CreateJoinAttempt", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateJoinAttemptRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateJoinAttemptResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "409": { "description": "Conflict", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "410": { "description": "Gone", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/join-attempts/{attemptId}": { "delete": { "tags": [ "Join attempts" ], "operationId": "CancelJoinAttempt", "parameters": [ { "name": "attemptId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-Rendezvous-Client-Punch-Capability", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "JoinAttemptCapability": [ ] } ] } }, "/v1/join-attempts/{attemptId}/outcome": { "post": { "tags": [ "Join attempts" ], "operationId": "ReportConnectionOutcome", "parameters": [ { "name": "attemptId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-Rendezvous-Client-Punch-Capability", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportConnectionOutcomeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportConnectionOutcomeResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "409": { "description": "Conflict", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "JoinAttemptCapability": [ ] } ] } }, "/v1/operator/status": { "get": { "tags": [ "Operator" ], "operationId": "GetOperatorStatus", "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperatorStatusResponse" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "OperatorBearer": [ ] } ] } }, "/v1/operator/listings/revoke": { "post": { "tags": [ "Operator" ], "operationId": "RevokeOperatorListing", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RevokeListingRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperatorActionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "OperatorBearer": [ ] } ] } }, "/v1/operator/principals/revoke": { "post": { "tags": [ "Operator" ], "operationId": "RevokeOperatorPrincipal", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RevokePrincipalRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperatorActionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "503": { "description": "Service Unavailable", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "OperatorBearer": [ ] } ] } }, "/v1/operator/keys/revoke": { "post": { "tags": [ "Operator" ], "operationId": "RevokeOperatorSigningKey", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RevokeSigningKeyRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperatorActionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "OperatorBearer": [ ] } ] } }, "/v1/operator/drain": { "post": { "tags": [ "Operator" ], "operationId": "BeginOperatorDrain", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BeginDrainRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperatorActionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "413": { "description": "Payload Too Large", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Unauthorized", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "Not Found", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "429": { "description": "Too Many Requests", "headers": { "X-Rendezvous-Correlation-ID": { "description": "Safe request correlation identifier generated by the service.", "schema": { "type": "string" } }, "Retry-After": { "description": "Whole seconds before the caller should retry (1-60).", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } }, "security": [ { "OperatorBearer": [ ] } ] } } }, "components": { "schemas": { "AddressFamilyKind": { "enum": [ "ipv4", "ipv6" ] }, "ApiError": { "required": [ "contractVersion", "code", "message" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "code": { "$ref": "#/components/schemas/RendezvousErrorCode" }, "message": { "type": "string" }, "correlationId": { "type": [ "null", "string" ] }, "retryAfterSeconds": { "type": [ "null", "integer" ], "format": "int32" } } }, "BeginDrainRequest": { "required": [ "confirmation" ], "type": "object", "properties": { "confirmation": { "type": "string" } } }, "BrowseHostJoinAttemptsResponse": { "required": [ "contractVersion", "items" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/HostJoinAttempt" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "BrowseSessionsResponse": { "required": [ "contractVersion", "items" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/SessionListing" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "ConnectionElapsedBucket": { "enum": [ "underOneSecond", "oneToFiveSeconds", "fiveToFifteenSeconds", "fifteenToThirtySeconds", "thirtySecondsOrMore" ] }, "ConnectionOutcomeKind": { "enum": [ "connected", "cancelled", "timedOut", "incompatibleProtocol", "staleHost", "serviceRejected", "hostRejected", "transportFailed", "fallbackOffered", "directoryNotFound", "attemptExpired", "unauthorized", "rateLimited", "noHostPresence", "serviceUnavailable", "mediatorUnavailable", "punchTimedOut", "directConnectTimedOut", "transportError", "managerStopped", "disposed" ] }, "CreateJoinAttemptRequest": { "required": [ "contractVersion", "idempotencyKey", "gameId", "environmentId", "listingId", "protocolVersion" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "idempotencyKey": { "type": "string" }, "gameId": { "$ref": "#/components/schemas/GameId" }, "environmentId": { "$ref": "#/components/schemas/EnvironmentId" }, "listingId": { "$ref": "#/components/schemas/SessionListingId" }, "protocolVersion": { "type": "integer", "format": "uint32" } } }, "CreateJoinAttemptResponse": { "required": [ "contractVersion", "attemptId", "mediationHandle", "clientPunchCapability", "connectionTicketDigest", "expiresAt" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "attemptId": { "$ref": "#/components/schemas/JoinAttemptId" }, "mediationHandle": { "$ref": "#/components/schemas/MediationHandle" }, "clientPunchCapability": { "type": "string" }, "connectionTicketDigest": { "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" }, "dedicatedFallback": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/NetworkEndpoint" } ] } } }, "DeleteSessionRequest": { "required": [ "contractVersion", "leaseToken" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "leaseToken": { "type": "string" } } }, "EnvironmentId": { "type": "string" }, "GameId": { "type": "string" }, "GetSessionResponse": { "required": [ "contractVersion", "session" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "session": { "$ref": "#/components/schemas/SessionListing" } } }, "HealthResponse": { "required": [ "contractVersion", "status" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "status": { "type": "string" } } }, "HostJoinAttempt": { "required": [ "attemptId", "mediationHandle", "hostPunchCapability", "connectionTicketDigest", "isCancelled", "expiresAt" ], "type": "object", "properties": { "attemptId": { "$ref": "#/components/schemas/JoinAttemptId" }, "mediationHandle": { "$ref": "#/components/schemas/MediationHandle" }, "hostPunchCapability": { "type": "string" }, "connectionTicketDigest": { "type": "string" }, "isCancelled": { "type": "boolean" }, "expiresAt": { "type": "string", "format": "date-time" } } }, "JoinAttemptId": { "type": "string", "format": "uuid" }, "LeaseId": { "type": "string", "format": "uuid" }, "ListingVisibility": { "enum": [ "public", "unlisted" ] }, "MediationHandle": { "type": "string", "format": "uuid" }, "NetworkEndpoint": { "required": [ "addressFamily", "address", "port" ], "type": "object", "properties": { "addressFamily": { "$ref": "#/components/schemas/AddressFamilyKind" }, "address": { "type": "string" }, "port": { "type": "integer", "format": "int32" } } }, "OperatorActionResponse": { "required": [ "status" ], "type": "object", "properties": { "status": { "type": "string" }, "affectedResources": { "type": [ "null", "integer" ], "format": "int32" } } }, "OperatorCompatibilityResponse": { "required": [ "serverVersion", "minimumClientVersion", "maximumClientMajorVersion", "httpContractVersions", "udpContractVersions", "connectionTicketFormatVersions", "liteNetLibMajorVersion", "gameplayProtocolCompatibility" ], "type": "object", "properties": { "serverVersion": { "type": "string" }, "minimumClientVersion": { "type": "string" }, "maximumClientMajorVersion": { "type": "integer", "format": "int32" }, "httpContractVersions": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "udpContractVersions": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "connectionTicketFormatVersions": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "liteNetLibMajorVersion": { "type": "integer", "format": "int32" }, "gameplayProtocolCompatibility": { "type": "string" } } }, "OperatorReadinessResponse": { "required": [ "httpListener", "udpIpv4Listener", "udpIpv6Listener", "provisioning", "store", "draining" ], "type": "object", "properties": { "httpListener": { "type": "boolean" }, "udpIpv4Listener": { "type": "boolean" }, "udpIpv6Listener": { "type": "boolean" }, "provisioning": { "type": "boolean" }, "store": { "type": "boolean" }, "draining": { "type": "boolean" } } }, "OperatorSigningKeyResponse": { "required": [ "keyId", "status", "signUntil", "verifyUntil", "credentialKinds" ], "type": "object", "properties": { "keyId": { "type": "string" }, "status": { "type": "string" }, "signUntil": { "type": "string", "format": "date-time" }, "verifyUntil": { "type": "string", "format": "date-time" }, "gameId": { "type": [ "null", "string" ] }, "environmentId": { "type": [ "null", "string" ] }, "credentialKinds": { "type": "array", "items": { "type": "string" } } } }, "OperatorStatusResponse": { "required": [ "status", "compatibility", "readiness", "store", "tenants", "signingKeys", "auditCounts" ], "type": "object", "properties": { "status": { "type": "string" }, "compatibility": { "$ref": "#/components/schemas/OperatorCompatibilityResponse" }, "readiness": { "$ref": "#/components/schemas/OperatorReadinessResponse" }, "store": { "$ref": "#/components/schemas/OperatorStoreResponse" }, "tenants": { "type": "array", "items": { "$ref": "#/components/schemas/OperatorTenantResponse" } }, "signingKeys": { "type": "array", "items": { "$ref": "#/components/schemas/OperatorSigningKeyResponse" } }, "auditCounts": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" } } } }, "OperatorStoreResponse": { "required": [ "activeListings", "freshPresenceBindings", "activeJoinAttempts", "retainedOutcomeReports", "replayMarkers", "principalRevocations", "idempotencyEntries", "maintenanceSweeps", "expiryChurn" ], "type": "object", "properties": { "activeListings": { "type": "integer", "format": "int32" }, "freshPresenceBindings": { "type": "integer", "format": "int32" }, "activeJoinAttempts": { "type": "integer", "format": "int32" }, "retainedOutcomeReports": { "type": "integer", "format": "int32" }, "replayMarkers": { "type": "integer", "format": "int32" }, "principalRevocations": { "type": "integer", "format": "int32" }, "idempotencyEntries": { "type": "integer", "format": "int32" }, "maintenanceSweeps": { "type": "integer", "format": "int64" }, "expiryChurn": { "type": "integer", "format": "int64" } } }, "OperatorTenantResponse": { "required": [ "gameId", "environmentId", "status" ], "type": "object", "properties": { "gameId": { "type": "string" }, "environmentId": { "type": "string" }, "status": { "type": "string" } } }, "PublisherTrustMode": { "enum": [ "managedDedicated", "playerGrant", "anonymousUnlisted" ] }, "RegionId": { "type": "string" }, "RegisterSessionRequest": { "required": [ "contractVersion", "idempotencyKey", "gameId", "environmentId", "regionId", "protocolVersion", "buildVersion", "displayName", "visibility", "capacity", "metadata" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "idempotencyKey": { "type": "string" }, "gameId": { "$ref": "#/components/schemas/GameId" }, "environmentId": { "$ref": "#/components/schemas/EnvironmentId" }, "regionId": { "$ref": "#/components/schemas/RegionId" }, "protocolVersion": { "type": "integer", "format": "uint32" }, "buildVersion": { "type": "string" }, "displayName": { "type": "string" }, "visibility": { "$ref": "#/components/schemas/ListingVisibility" }, "capacity": { "$ref": "#/components/schemas/SessionCapacity" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "dedicatedFallback": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/NetworkEndpoint" } ] } } }, "RegisterSessionResponse": { "required": [ "contractVersion", "listingId", "leaseId", "leaseToken", "hostPresenceHandle", "hostPresenceCapability", "expiresAt", "leaseRenewAfterSeconds", "hostPresenceRefreshAfterSeconds" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "listingId": { "$ref": "#/components/schemas/SessionListingId" }, "leaseId": { "$ref": "#/components/schemas/LeaseId" }, "leaseToken": { "type": "string" }, "hostPresenceHandle": { "$ref": "#/components/schemas/MediationHandle" }, "hostPresenceCapability": { "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" }, "leaseRenewAfterSeconds": { "type": "integer", "format": "int32" }, "hostPresenceRefreshAfterSeconds": { "type": "integer", "format": "int32" } } }, "RendezvousErrorCode": { "enum": [ "none", "invalidRequest", "unsupportedContractVersion", "incompatibleProtocol", "authenticationRequired", "forbidden", "notFound", "conflict", "rateLimited", "staleHost", "expired", "replayRejected", "capacityExceeded", "serviceUnavailable", "internalError" ] }, "RenewLeaseRequest": { "required": [ "contractVersion", "leaseToken" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "leaseToken": { "type": "string" } } }, "RenewLeaseResponse": { "required": [ "contractVersion", "expiresAt", "renewAfterSeconds" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "expiresAt": { "type": "string", "format": "date-time" }, "renewAfterSeconds": { "type": "integer", "format": "int32" } } }, "ReportConnectionOutcomeRequest": { "required": [ "contractVersion", "outcome" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "outcome": { "$ref": "#/components/schemas/ConnectionOutcomeKind" }, "elapsedBucket": { "$ref": "#/components/schemas/ConnectionElapsedBucket" }, "elapsedMilliseconds": { "type": "integer", "format": "int32" }, "diagnosticCode": { "type": [ "null", "string" ] } } }, "ReportConnectionOutcomeResponse": { "required": [ "contractVersion", "accepted", "isDuplicate" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "accepted": { "type": "boolean" }, "isDuplicate": { "type": "boolean" } } }, "RevokeListingRequest": { "required": [ "listingId", "confirmListingId" ], "type": "object", "properties": { "listingId": { "type": "string" }, "confirmListingId": { "type": "string" } } }, "RevokePrincipalRequest": { "required": [ "subject", "confirmSubject", "lifetimeSeconds" ], "type": "object", "properties": { "subject": { "type": "string" }, "confirmSubject": { "type": "string" }, "lifetimeSeconds": { "type": "integer", "format": "int32" } } }, "RevokeSigningKeyRequest": { "required": [ "keyId", "confirmKeyId" ], "type": "object", "properties": { "keyId": { "type": "string" }, "confirmKeyId": { "type": "string" } } }, "SessionCapacity": { "required": [ "currentPlayers", "maximumPlayers" ], "type": "object", "properties": { "currentPlayers": { "type": "integer", "format": "int32" }, "maximumPlayers": { "type": "integer", "format": "int32" } } }, "SessionListing": { "required": [ "contractVersion", "listingId", "gameId", "environmentId", "regionId", "protocolVersion", "buildVersion", "displayName", "visibility", "publisherTrustMode", "capacity", "metadata" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "listingId": { "$ref": "#/components/schemas/SessionListingId" }, "gameId": { "$ref": "#/components/schemas/GameId" }, "environmentId": { "$ref": "#/components/schemas/EnvironmentId" }, "regionId": { "$ref": "#/components/schemas/RegionId" }, "protocolVersion": { "type": "integer", "format": "uint32" }, "buildVersion": { "type": "string" }, "displayName": { "type": "string" }, "visibility": { "$ref": "#/components/schemas/ListingVisibility" }, "publisherTrustMode": { "$ref": "#/components/schemas/PublisherTrustMode" }, "capacity": { "$ref": "#/components/schemas/SessionCapacity" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "dedicatedFallback": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/NetworkEndpoint" } ] } } }, "SessionListingId": { "type": "string", "format": "uuid" }, "UpdateSessionRequest": { "required": [ "contractVersion", "leaseToken", "buildVersion", "displayName", "capacity", "metadata" ], "type": "object", "properties": { "contractVersion": { "type": "integer", "format": "int32" }, "leaseToken": { "type": "string" }, "buildVersion": { "type": "string" }, "displayName": { "type": "string" }, "capacity": { "$ref": "#/components/schemas/SessionCapacity" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "dedicatedFallback": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/NetworkEndpoint" } ] } } } }, "securitySchemes": { "PublisherBearer": { "type": "http", "description": "Tenant-scoped publisher credential issued during game provisioning.", "scheme": "bearer", "bearerFormat": "rv1 publisher credential" }, "JoinAttemptCapability": { "type": "apiKey", "description": "Attempt-scoped client capability returned only to the joining caller.", "name": "X-Rendezvous-Client-Punch-Capability", "in": "header" }, "OperatorBearer": { "type": "http", "description": "Operator-only credential with an explicit permission set.", "scheme": "bearer", "bearerFormat": "rv1 operator credential" } } }, "tags": [ { "name": "Health" }, { "name": "Sessions" }, { "name": "Join attempts" }, { "name": "Operator" } ] }