> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PUT (/users/xuid(xuid)/lists/PINS/{listname})

> PUT (/users/xuid(xuid)/lists/PINS/{listname})

# PUT (/users/xuid(xuid)/lists/PINS/{listname})

Atualiza os itens de uma lista de acordo com os índices especificados para cada item no corpo da solicitação.
O domínio para esses URIs é `eplists.xboxlive.com`.

* [Comentários](#ID4EV)
* [Parâmetros de URI](#ID4E1B)
* [Autorização](#ID4EFC)
* [Códigos de status HTTP](#ID4ESC)
* [Cabeçalhos de solicitação obrigatórios](#ID4EPH)
* [Corpo da solicitação](#ID4EGBAC)
* [Corpo da resposta](#ID4EWBAC)

<a id="ID4EV" />

## Comentários

Esta chamada atualizará os itens de uma lista de acordo com os índices especificados para cada item no corpo da solicitação. Esta chamada não inserirá itens na lista e, se não existirem itens nos índices especificados, a chamada retornará um status 400 Bad Request. Vários itens podem ser atualizados em uma única chamada, mas todos devem existir na lista atual. Ou seja, todos são atualizados ou nenhum é atualizado.

Esta chamada permite que o item a ser atualizado seja especificado pelo **itemId** em vez do **index**. Para fazer isso, basta usar "-1" como índice na estrutura **IndexedItems** enviada ao serviço. Obviamente, nesse caso, o **itemId** não pode ser alterado como parte da atualização, portanto isso só funcionará para alterações em outros campos de metadados. A combinação **provider**/**providerId** pode ser usada em vez de **itemId** para identificar o item. Internamente, o serviço pesquisa esses itens na lista e determina os índices adequados a serem atualizados. Se o item ou os itens não forem encontrados, um status 400 Bad Request será retornado e nenhum item será atualizado.

Esta chamada requer que um cabeçalho **If-Match:versionNumber** seja incluído na solicitação se forem usados índices para identificar os itens. Se forem usadas IDs de item para identificar os itens (e a lista não permitir duplicatas), o cabeçalho **If-Match** será opcional. Se estiver presente, o cabeçalho **if-Match** sempre será validado. No cabeçalho, **versionNumber** é o número da versão atual da lista. Se ele não for incluído (e for obrigatório) ou não corresponder ao número da versão atual da lista, um código de status HTTP 412 Precondition Failed será retornado, e o corpo da resposta conterá os metadados mais recentes da lista, que incluem o número da versão atual. Isso serve para evitar que atualizações de clientes diferentes se sobreponham umas às outras.

<a id="ID4E1B" />

## Parâmetros de URI

| Parâmetro | Tipo | Descrição |
| - | - | - |
| xuid | cadeia de caracteres | ID de usuário do XBOX (XUID). |
| listtype | cadeia de caracteres | Tipo da lista (como ela é usada e como se comporta). Sempre "PINS" para esses métodos relacionados. |
| listname | cadeia de caracteres | Nome da lista (em qual lista de um determinado listtype atuar). Sempre "XBLPins" para itens em Pins. |

<a id="ID4EFC" />

## Autorização

Esta chamada espera um token SAML do XSTS no cabeçalho **Authorization**. Uma declaração Xuid deve existir nesse token SAML para identificar o chamador. Esse valor é usado para determinar se o chamador tem direitos de acesso aos dados da lista em questão. A própria lista também será identificada pelo Xuid e será incluída no URI da lista. Com isso, poderemos no futuro dar suporte ao acesso compartilhado a listas, mas esse não é um recurso disponível no momento. Atualmente, todas as listas que um usuário acessa serão dele mesmo e não há acesso compartilhado. Portanto, o Xuid no URI deve corresponder ao Xuid no token de declarações SAML.

> **Observação:**\
> No momento, há suporte para tokens do XBL Auth 2.0 e 3.0.

<a id="ID4ESC" />

## Códigos de status HTTP

O serviço retorna um dos códigos de status desta seção em resposta a uma solicitação feita com este método neste recurso. Para obter uma lista completa dos códigos de status HTTP padrão usados com os XBOX Live Services, consulte [Códigos de status HTTP padrão](/pt-BR/reference/live/rest/additional/httpstatuscodes).

\| Código| Frase de motivo| Descrição|
\| --- | --- | --- | --- | --- | --- | --- |
\| 200| OK| A solicitação foi concluída com êxito. O corpo da resposta deve conter o recurso solicitado (para um GET). As solicitações POST e PUT receberão metadados atualizados da lista (versão da lista, contagem etc.).|
\| 201| Created| Uma nova lista foi criada. Isso é retornado na inserção inicial em uma lista. A resposta inclui metadados atualizados sobre a lista, e o cabeçalho location contém o URI da lista.|
\| 304| Not Modified| Retornado em GETs. Indica que o cliente tem a versão mais recente da lista. O serviço compara o valor no cabeçalho <b>If-Match</b> com a versão da lista. Se forem iguais, um 304 será retornado sem dados.|
\| 400| Bad Request| A solicitação estava malformada. Pode ser um valor ou tipo inválido para um parâmetro de URI ou da cadeia de consulta. Também pode ser resultado da ausência de um parâmetro ou valor de dados obrigatório, ou de a solicitação indicar uma versão ausente ou inválida da API. Consulte o cabeçalho <b>X-XBL-Contract-Version</b>.|
\| 401| Unauthorized| A solicitação requer autenticação do usuário.|
\| 403| Forbidden| A solicitação não é permitida para o usuário ou serviço.|
\| 404| Not Found| O chamador não tem acesso ao recurso. Isso indica que essa lista não foi criada.|
\| 412| Precondition Failed| Indica que a versão da lista foi alterada e uma solicitação de modificação falhou. Uma solicitação de modificação é uma inserção, atualização ou remoção. O serviço verifica o cabeçalho <b>If-Match</b> para obter a versão da lista. Se ela não corresponder à versão atual da lista, a operação falhará e isso será retornado junto com os metadados atuais da lista (que incluem a versão atual).|
\| 500| Internal Server Error| O serviço está recusando a solicitação devido a um erro no servidor.|
\| 501| Not Implemented| O chamador solicitou um URI que não foi implementado no servidor. (Atualmente, usado apenas quando é feita uma solicitação para um nome de lista que não está na lista de permissões.)|
\| 503| Service Unavailable| O servidor está recusando a solicitação, geralmente devido a carga excessiva. Após um intervalo (consulte o cabeçalho <b>Retry-after</b>), a solicitação pode ser repetida.|

<a id="ID4EPH" />

## Cabeçalhos de solicitação obrigatórios

\| Cabeçalho| Descrição|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| Authorization| Contém o token STS usado para autenticar e autorizar a solicitação. Deve ser um token do serviço XSTS e incluir o XUID como uma das declarações. |
\| X-XBL-Contract-Version| Especifica qual versão da API está sendo solicitada (inteiros positivos). Pins dá suporte à versão 2. Se esse cabeçalho estiver ausente ou o valor não tiver suporte, o serviço retornará 400 - Bad request com "Unsupported or missing contract version header" na descrição do status.|
\| Content-Type| Especifica se o conteúdo dos corpos de solicitação/resposta estará em json ou xml. Os valores com suporte são "application/json" e "application/xml"|
\| If-Match| Este cabeçalho deve conter o número da versão atual de uma lista ao fazer solicitações de modificação. As solicitações de modificação usam os verbos PUT, POST ou DELETE. Se a versão no cabeçalho "If-Match" não corresponder à versão atual da lista, a solicitação será rejeitada com um código de retorno HTTP 412 - precondition failed. (opcional) Também pode ser usado para GETs; se estiver presente e a versão passada corresponder à versão atual da lista, nenhum dado da lista será retornado, e sim um código HTTP 304 - Not Modified. |

<a id="ID4EGBAC" />

## Corpo da solicitação

<a id="ID4EMBAC" />

### Exemplo de solicitação

```cpp theme={null}
{"IndexedItems":
 [{  "Index": 0, 
     "Item": 
     {
       "ContentType": "Movie",
       "ItemId": "3a5095a5-eac3-4215-944d-27bc051faa47",
       "ProviderId": null,
       "Provider": null,
       "ImageUrl": "http://www.bing.com/thumb/...",
       "Title": "The Dark Knight",
       "SubTitle":null, 
       "Locale": "en-us",
       "DeviceType": "XboxOne"
     }
}]} 
      
```

<a id="ID4EWBAC" />

## Corpo da resposta

<a id="ID4E3BAC" />

### Exemplo de resposta

```cpp theme={null}
{
  "ListVersion":  1,
  "ListCount":  1,
  "MaxListSize": 200,
  "AllowDuplicates": "true",
  "AccessSetting":  "OwnerOnly"
} 
         
```

<a id="ID4EGCAC" />

## Consulte também

<a id="ID4EICAC" />

##### Pai

[/users/xuid(xuid)/lists/PINS/{listname}](/pt-BR/reference/live/rest/uri/lists/uri-usersxuidlistspinslistname)


## Related topics

- [XblUserStatisticsGetSingleUserStatisticsAsync](/reference/live/xsapi-c/user_statistics_c/functions/xbluserstatisticsgetsingleuserstatisticsasync.md)
- [XblUserStatisticsGetSingleUserStatisticAsync](/reference/live/xsapi-c/user_statistics_c/functions/xbluserstatisticsgetsingleuserstatisticasync.md)
