Multiplayer session status codes
This topic provides the status codes that are returned from Xbox services when a multiplayer session is requested.
Note
The 4xx status codes returning the session always return the entire session, even if the URI points to a session element.
Status code | String | Content-Type | Body | Description |
---|---|---|---|---|
200 | OK | application/json | Session | Successfully read (GET) or updated (PUT). |
201 | Created | application/json | Session | Successfully created. |
202 | Accepted | text/plain | None | The request was accepted but hasn't yet been completed. |
204 | No content | On a GET for a session, the session doesn't exist. On a GET of a session element, the session exists but the element doesn't. On a PUT for a session, the session was deleted as a result of the PUT operation. On a PUT or DELETE for a session element, the session existed when the operation began, but neither the session nor the element exists. | ||
304 | Not modified | On a GET with the If-None-Match header, the session hasn't changed. | ||
400 | Bad request | text/plain | Message | The request is assumed to be invalid on first examination. It's missing a required field or the JSON file is malformed. The body includes additional details. |
403 | Forbidden | text/plain | Message | The request might be valid in some contexts, but it's invalid for its context. Authorization has failed. |
application/json | Session | The session can't be updated by the user, but it can be read. | ||
404 | Not found | text/plain | Message | The session can't be accessed because the URI is invalid; the handle, service configuration identifier (SCID), or session template can't be found; a hopper can't be found; a session element can't be accessed because the session doesn't exit; or the element lookup is invalid for the session. |
405 | Method not allowed | text/plain | Message | The request URI is plausible, but the verb is wrong. For example, the request is for a POST operation when a PUT operation is needed. |
409 | Conflict | text/plain | Message | The session couldn't be updated because the request is incompatible with the session. For example, constants in the request conflict with constants in the session or session template, or members other than the caller have been added to or removed from a large session. |
412 | Precondition failed | The If-Match header, or the If-None-Match header (for an operation other than a GET), couldn't be satisfied. | ||
application/json | Session | The If-Match header couldn't be satisfied on a PUT or DELETE operation for an existing session. The current state of the session is returned along with the current ETag value. | ||
429 | Too many requests | application/json | Message | The service call was throttled because of exceeding the Fine-Grained Rate Limiting (FGRL) restrictions. For more information, see Fine-Grained Rate Limiting. |
503 | Service unavailable | text/plain | None | The service is overloaded, and the request should be retried later. This code includes a Retry-After header that the client should honor. |