POST (/users/xuid({xuid})/achievements/{scid}/update)
Updates the progress of an Achievement.
The domain for these URIs is achievements.xboxlive.com
.
- URI parameters
- Authorization
- Required Request Headers
- Optional Request Headers
- Request body
- HTTP status codes
- Response body
Remarks
- A successful call will return an HTTP status code of 200 with an empty response body.
- If the call results in no change to achievement progress (i.e. it is already unlocked or at the same percent complete), the call will return an HTTP status code of 304 with an empty response body.
URI parameters
Parameter | Type | Description |
---|---|---|
xuid | 64-bit unsigned integer | Xbox User ID (XUID) of the user whose resource is being accessed. Must match the XUID of the authenticated user. |
scid | GUID | Unique identifier of the service configuration whose achievement is being accessed. |
Authorization
Claim | Required? | Description | Behavior if missing |
---|---|---|---|
User | Yes | A valid user on Xbox LIVE for whom the request is being made. | 403 Forbidden |
Required Request Headers
Header | Type | Description |
---|---|---|
Authorization | string | Authentication credentials for HTTP authentication. Example value: "XBL3.0 x=<userhash>;<token>". |
x-xbl-contract-version | 2 | API contract version. |
Optional Request Headers
Header | Type | Description |
---|---|---|
Accept-Language | string | List of desired locales and fallbacks (e.g., fr-FR, fr, en-GB, en-WW, en-US). The Achievements service will work through the list until it finds matching localized strings. If none are found, it attempts to match the location defined in the user token, which comes from the user's IP address. If still no matching localized strings are found, it uses the default strings provided by the title developer/publisher. |
Request body
An AchievementUpdateRequest (JSON) object.
Sample request
POST /users/xuid({2810000000000000})/achievements/{00000000-0000-0000-0000-000000000000}/update
{
"action": "progressUpdate",
"serviceConfigId": "00000000-0000-0000-0000-000000000000",
"titleId": 0000000000,
"userId": "2810000000000000",
"achievements": [
{
"id": "1",
"percentComplete": 100
}
]
}
HTTP status codes
The service returns one of the status codes in this section in response to a request made with this method on this resource. For a complete list of standard HTTP status codes used with Xbox Live Services, see Standard HTTP status codes.
Code | Reason phrase | Description |
---|---|---|
200 | OK | The session was successfully retrieved. |
301 | Moved Permanently | The service has moved to a different URI. |
304 | Not Modified | The achievement progress was not modified. |
307 | Temporary Redirect | The URI for this resource has temporarily changed. |
400 | Bad Request | Service could not understand malformed request. Typically an invalid parameter. |
401 | Unauthorized | The request requires user authentication. |
403 | Forbidden | The request is not allowed for the user or service. |
404 | Not Found | The specified resource could not be found. |
406 | Not Acceptable | Resource version is not supported; should be rejected by the MVC layer. |
408 | Request Timeout | The request took too long to complete. |
410 | Gone | The requested resource is no longer available. |
Response body
The response body is empty.