openapi: 3.0.0 info: version: 2015-10-01 x-release: v4 title: 'Amazon GameLift #X Amz Target=GameLift.AcceptMatch #X Amz Target=GameLift.AcceptMatch #X Amz Target=GameLift.StartMatchmaking API' description:

Amazon GameLift provides solutions for hosting session-based multiplayer game servers in the cloud, including tools for deploying, operating, and scaling game servers. Built on Amazon Web Services global computing infrastructure, GameLift helps you deliver high-performance, high-reliability, low-cost game servers while dynamically scaling your resource usage to meet player demand.

About Amazon GameLift solutions

Get more information on these Amazon GameLift solutions in the Amazon GameLift Developer Guide.

About this API Reference

This reference guide describes the low-level service API for Amazon GameLift. With each topic in this guide, you can find links to language-specific SDK guides and the Amazon Web Services CLI reference. Useful links:

x-logo: url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: gamelift x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/gamelift-2015-10-01.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://gamelift.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon GameLift multi-region endpoint - url: https://gamelift.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon GameLift multi-region endpoint - url: http://gamelift.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon GameLift endpoint for China (Beijing) and China (Ningxia) - url: https://gamelift.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon GameLift endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: '#X Amz Target=GameLift.StartMatchmaking' paths: /#X-Amz-Target=GameLift.StartMatchmaking: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: StartMatchmaking description:

Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules. With games that use Amazon GameLift managed hosting, this operation also triggers Amazon GameLift to find hosting resources and start a new game session for the new match. Each matchmaking request includes information on one or more players and specifies the FlexMatch matchmaker to use. When a request is for multiple players, FlexMatch attempts to build a match that includes all players in the request, placing them in the same team and finding additional players as needed to fill the match.

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include any player attributes that are required by the matchmaking configuration's rule set. If successful, a matchmaking ticket is returned with status set to QUEUED.

Track matchmaking events to respond as needed and acquire game session connection information for successfully completed matches. Ticket status updates are tracked using event notification through Amazon Simple Notification Service, which is defined in the matchmaking configuration.

Learn more

Add FlexMatch to a game client

Set Up FlexMatch event notification

How Amazon GameLift FlexMatch works

responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StartMatchmakingOutput' examples: StartMatchmaking200Example: summary: Default StartMatchmaking 200 response x-microcks-default: true value: MatchmakingTicket: example-value '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' examples: StartMatchmaking480Example: summary: Default StartMatchmaking 480 response x-microcks-default: true value: example-value '481': description: NotFoundException content: application/json: schema: $ref: '#/components/schemas/NotFoundException' examples: StartMatchmaking481Example: summary: Default StartMatchmaking 481 response x-microcks-default: true value: example-value '482': description: InternalServiceException content: application/json: schema: $ref: '#/components/schemas/InternalServiceException' examples: StartMatchmaking482Example: summary: Default StartMatchmaking 482 response x-microcks-default: true value: example-value '483': description: UnsupportedRegionException content: application/json: schema: $ref: '#/components/schemas/UnsupportedRegionException' examples: StartMatchmaking483Example: summary: Default StartMatchmaking 483 response x-microcks-default: true value: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StartMatchmakingInput' parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - GameLift.StartMatchmaking summary: Amazon GameLift Start Matchmaking x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - '#X Amz Target=GameLift.StartMatchmaking' components: schemas: PlayerList: type: array items: $ref: '#/components/schemas/Player' NonZeroAndMaxString: type: string minLength: 1 maxLength: 1024 InternalServiceException: {} WholeNumber: type: integer minimum: 0 MatchmakingConfigurationArn: type: string pattern: ^arn:.*:matchmakingconfiguration\/[a-zA-Z0-9-\.]* description: Data type used for Matchmaking Configuration ARN. LatencyMap: type: object additionalProperties: $ref: '#/components/schemas/PositiveInteger' IpAddress: type: string pattern: ^[0-9A-Fa-f\:\.]+ minLength: 1 maxLength: 128 MatchmakingTicket: type: object properties: TicketId: allOf: - $ref: '#/components/schemas/MatchmakingIdStringModel' - description: A unique identifier for a matchmaking ticket. ConfigurationName: allOf: - $ref: '#/components/schemas/MatchmakingIdStringModel' - description: Name of the matchmaking configuration that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match. ConfigurationArn: allOf: - $ref: '#/components/schemas/MatchmakingConfigurationArn' - description: The Amazon Resource Name (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket. Status: allOf: - $ref: '#/components/schemas/MatchmakingConfigurationStatus' - description:

Current status of the matchmaking request.

Matchmaking requests that fail to successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket IDs.

StatusReason: allOf: - $ref: '#/components/schemas/StringModel' - description: Code to explain the current status. For example, a status reason may indicate when a ticket has returned to SEARCHING status after a proposed match fails to receive player acceptances. StatusMessage: allOf: - $ref: '#/components/schemas/StringModel' - description: Additional information about the current status. StartTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). EndTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: Time stamp indicating when the matchmaking request stopped being processed due to successful completion, timeout, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). Players: allOf: - $ref: '#/components/schemas/PlayerList' - description: A set of Player objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status COMPLETED, the Player objects include the team the players were assigned to in the resulting match. GameSessionConnectionInfo: allOf: - $ref: '#/components/schemas/GameSessionConnectionInfo' - description: Connection information for a new game session. Once a match is made, the FlexMatch engine creates a new game session for it. This information is added to the matchmaking ticket, which you can be retrieve by calling DescribeMatchmaking . EstimatedWaitTime: allOf: - $ref: '#/components/schemas/WholeNumber' - description: Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty. description: Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request. PlayerAttributeString: type: string minLength: 1 maxLength: 100 GameSessionConnectionInfo: type: object properties: GameSessionArn: allOf: - $ref: '#/components/schemas/ArnStringModel' - description: A unique identifier for the game session. Use the game session ID. IpAddress: allOf: - $ref: '#/components/schemas/IpAddress' - description: The IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. DnsName: allOf: - $ref: '#/components/schemas/DnsName' - description: '

The DNS identifier assigned to the instance that is running the game session. Values have the following format:

When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

' Port: allOf: - $ref: '#/components/schemas/PositiveInteger' - description: The port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. MatchedPlayerSessions: allOf: - $ref: '#/components/schemas/MatchedPlayerSessionList' - description: 'A collection of player session IDs, one for each player ID that was included in the original matchmaking request. ' description: Connection information for a new game session that is created in response to a start matchmaking request. Once a match is made, the FlexMatch engine creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the matchmaking ticket. StartMatchmakingOutput: type: object properties: MatchmakingTicket: allOf: - $ref: '#/components/schemas/MatchmakingTicket' - description: Ticket representing the matchmaking request. This object include the information included in the request, ticket status, and match results as generated during the matchmaking process. MatchedPlayerSessionList: type: array items: $ref: '#/components/schemas/MatchedPlayerSession' PlayerAttributeStringList: type: array items: $ref: '#/components/schemas/PlayerAttributeString' DoubleObject: type: number format: double StartMatchmakingInput: type: object required: - ConfigurationName - Players title: StartMatchmakingInput properties: TicketId: allOf: - $ref: '#/components/schemas/MatchmakingIdStringModel' - description: A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the matchmaking ticket status and retrieve match results. ConfigurationName: allOf: - $ref: '#/components/schemas/MatchmakingConfigurationName' - description: Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same Region as this request. You can use either the configuration name or ARN value. Players: allOf: - $ref: '#/components/schemas/PlayerList' - description:

Information on each player to be matched. This information must include a player ID, and may contain player attributes and latency data to be used in the matchmaking process. After a successful match, Player objects contain the name of the team the player is assigned to.

You can include up to 10 Players in a StartMatchmaking request.

InvalidRequestException: {} DnsName: type: string NotFoundException: {} ArnStringModel: type: string pattern: '[a-zA-Z0-9:/-]+' minLength: 1 maxLength: 256 StringModel: type: string Timestamp: type: string format: date-time Player: type: object properties: PlayerId: allOf: - $ref: '#/components/schemas/NonZeroAndMaxString' - description: A unique identifier for a player PlayerAttributes: allOf: - $ref: '#/components/schemas/PlayerAttributeMap' - description: '

A collection of key:value pairs containing player information for use in matchmaking. Player attribute keys must match the playerAttributes used in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}.

You can provide up to 10 PlayerAttributes.

' Team: allOf: - $ref: '#/components/schemas/NonZeroAndMaxString' - description: Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set. LatencyInMs: allOf: - $ref: '#/components/schemas/LatencyMap' - description:

A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to @aws; Regions. If this property is present, FlexMatch considers placing the match only in Regions for which latency is reported.

If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no Regions are available to the player and the ticket is not matchable.

description: Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed. AttributeValue: type: object properties: S: allOf: - $ref: '#/components/schemas/PlayerAttributeString' - description: For single string values. Maximum string length is 100 characters. N: allOf: - $ref: '#/components/schemas/DoubleObject' - description: For number values, expressed as double. SL: allOf: - $ref: '#/components/schemas/PlayerAttributeStringList' - description: For a list of up to 100 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored. SDM: allOf: - $ref: '#/components/schemas/PlayerAttributeStringDoubleMap' - description: 'For a map of up to 10 data type:value pairs. Maximum length for each string value is 100 characters. ' description: 'Values for use in player attribute key-value pairs. This object lets you specify an attribute value using any of the valid data types: string, number, string array, or data map. Each AttributeValue object can use only one of the available properties.' MatchmakingConfigurationStatus: type: string enum: - CANCELLED - COMPLETED - FAILED - PLACING - QUEUED - REQUIRES_ACCEPTANCE - SEARCHING - TIMED_OUT PositiveInteger: type: integer minimum: 1 PlayerAttributeStringDoubleMap: type: object additionalProperties: $ref: '#/components/schemas/DoubleObject' MatchedPlayerSession: type: object properties: PlayerId: allOf: - $ref: '#/components/schemas/NonZeroAndMaxString' - description: 'A unique identifier for a player ' PlayerSessionId: allOf: - $ref: '#/components/schemas/PlayerSessionId' - description: A unique identifier for a player session description:

Represents a new player session that is created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request.

When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.

PlayerSessionId: type: string pattern: ^psess-\S+ MatchmakingIdStringModel: type: string pattern: '[a-zA-Z0-9-\.]*' maxLength: 128 UnsupportedRegionException: {} MatchmakingConfigurationName: type: string pattern: '[a-zA-Z0-9-\.]*|^arn:.*:matchmakingconfiguration\/[a-zA-Z0-9-\.]*' minLength: 1 maxLength: 256 PlayerAttributeMap: type: object additionalProperties: $ref: '#/components/schemas/AttributeValue' parameters: X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false X-Amz-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false X-Amz-Credential: name: X-Amz-Credential in: header schema: type: string required: false X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 in: header schema: type: string required: false X-Amz-Algorithm: name: X-Amz-Algorithm in: header schema: type: string required: false X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false X-Amz-Security-Token: name: X-Amz-Security-Token in: header schema: type: string required: false securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/gamelift/ x-hasEquivalentPaths: true