> ## 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 (/sessions/{sessionId}/scids/{scid}/data/{pathAndFileName},{type})

> PUT (/sessions/{sessionId}/scids/{scid}/data/{pathAndFileName},{type})

# PUT (/sessions/{sessionId}/scids/{scid}/data/{pathAndFileName},{type})

Carga un archivo. Los datos se pueden cargar en una carga completa en la que los datos y los metadatos se envían en un solo mensaje, o como una carga de varios bloques en la que los datos y los metadatos se envían en una serie de bloques más pequeños. Solo los archivos de menos de cuatro megabytes se pueden enviar como un solo mensaje. La carga de varios bloques no se admite para datos de tipo json.
El dominio de estos URI es `titlestorage.xboxlive.com`.

* [Parámetros de URI](#ID4EX)
* [Autorización](#ID4EEB)
* [Parámetros de cadena de consulta opcionales](#ID4ERB)
* [Encabezados de solicitud obligatorios](#ID4ENE)
* [Encabezados de solicitud opcionales](#ID4EWF)
* [Cuerpo de la solicitud](#ID4EZG)
* [Códigos de estado HTTP](#ID4EEH)
* [Cuerpo de la respuesta](#ID4EXEAC)

## Parámetros de URI

| Parámetro | Tipo | Descripción |
| - | - | - |
| sessionId | string | Identificador de la sesión que se va a buscar. |
| scid | guid | Identificador de la configuración de servicio que se va a buscar. |
| pathAndFileName | string | Ruta de acceso y nombre de archivo del elemento al que se va a acceder. Los caracteres válidos para la parte de la ruta de acceso (hasta la barra diagonal final inclusive) incluyen letras mayúsculas (A-Z), letras minúsculas (a-z), números (0-9), carácter de subrayado (*) y barra diagonal (/). La parte de la ruta de acceso puede estar vacía. Los caracteres válidos para la parte del nombre de archivo (todo lo que sigue a la barra diagonal final) incluyen letras mayúsculas (A-Z), letras minúsculas (a-z), números (0-9), carácter de subrayado (*), punto (.) y guion (-). El nombre de archivo no puede estar vacío, ni terminar en un punto ni contener dos puntos consecutivos. |
| type | string | Formato de los datos. Los valores posibles son binary o json. |

## Autorización

La solicitud debe incluir un encabezado de autorización de XBOX LIVE válido. Si el autor de la llamada no tiene permiso para acceder a este recurso, el servicio devolverá una respuesta 403 Forbidden. Si el encabezado no es válido o falta, el servicio devolverá una respuesta 401 Unauthorized.

## Parámetros de cadena de consulta opcionales

Para las cargas de un solo mensaje, los parámetros de cadena de consulta son:

\| Parámetro| Tipo| Descripción|
\| --- | --- | --- | --- | --- | --- |
\| clientFileTime| DateTime| Fecha y hora del archivo en el cliente que cargó el archivo por última vez.|
\| displayName| string| Nombre del archivo que se debe mostrar al usuario.|

Para las cargas de varios bloques, los parámetros de cadena de consulta son:

\| Parámetro| Tipo| Descripción|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| clientFileTime| DateTime| Fecha y hora del archivo en el cliente que cargó el archivo por última vez.|
\| displayName| string| Nombre del archivo que se debe mostrar al usuario.|
\| continuationToken| string| Token de continuación de la respuesta de la solicitud de carga anterior. Si este es el primer bloque, no se debe especificar. |
\| finalBlock| bool| Establézcalo en true para el último bloque del archivo. Establézcalo en false para el resto de los bloques.|

## Encabezados de solicitud obligatorios

\| Encabezado| Valor| Descripción|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| x-xbl-contract-version| 1| Versión del contrato de la API.|
\| Authorization| XBL3.0 x=\[hash];\[token]| Token de autenticación de STS. STSTokenString se reemplaza por el token devuelto por la solicitud de autenticación. Consulte Autenticación y autorización de solicitudes de los servicios de XBOX LIVE para obtener más información sobre cómo recuperar un token de STS y crear un encabezado de autorización.|

## Encabezados de solicitud opcionales

\| Encabezado| Descripción|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| If-Match| Especifica una ETag que debe coincidir con un elemento existente para completar la operación.|
\| If-None-Match| Especifica una ETag que no debe coincidir con ningún elemento existente para completar la operación.|

## Cuerpo de la solicitud

El cuerpo de la solicitud contiene el contenido del archivo que se está cargando. Para las cargas de un solo mensaje, el cuerpo es el contenido completo del archivo. Para las cargas de varios bloques, el cuerpo es la parte del archivo especificada en los parámetros de cadena de consulta.

## Códigos de estado HTTP

El servicio devuelve uno de los códigos de estado de esta sección en respuesta a una solicitud realizada con este método en este recurso. Para obtener una lista completa de los códigos de estado HTTP estándar que se usan con los servicios de XBOX Live, consulte [Códigos de estado HTTP estándar](https://devdocs.xbox.com/es/reference/live/rest/additional/httpstatuscodes).

\| Código| Frase de motivo| Descripción|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| 200| OK | La solicitud se realizó correctamente.|
\| 201| Created | Se creó la entidad.|
\| 400| Bad Request | El servicio no pudo interpretar una solicitud con formato incorrecto. Normalmente, un parámetro no válido.|
\| 401| Unauthorized | La solicitud requiere autenticación del usuario.|
\| 403| Forbidden | La solicitud no está permitida para el usuario o el servicio.|
\| 404| Not Found | No se encontró el recurso especificado.|
\| 406| Not Acceptable | La versión del recurso no es compatible.|
\| 408| Request Timeout | La solicitud tardó demasiado en completarse.|
\| 500| Internal Server Error | El servidor encontró una condición inesperada que le impidió completar la solicitud.|
\| 503| Service Unavailable | La solicitud se ha limitado; vuelva a intentar la solicitud después del valor de client-retry en segundos (por ejemplo, 5 segundos después).|

## Cuerpo de la respuesta

Si la llamada es una solicitud de varios bloques y se realiza correctamente, el servicio devolverá un token de continuación para pasarlo con el bloque siguiente.

### Respuesta de ejemplo

```cpp theme={null}
{
    "continuationToken":"abcd1234-1111-2222-3333-abcd12345678-1"
}
         
```

## Consulte también

##### Elemento primario

[/sessions/{sessionId}/scids/{scid}/data/{pathAndFileName},{type}](https://devdocs.xbox.com/es/reference/live/rest/uri/storage/uri-sessionssessionidscidssciddatapathandfilenametype)


## Related topics

- [XblMultiplayerSessionReferenceUri](https://devdocs.xbox.com/reference/live/xsapi-c/multiplayer_c/structs/xblmultiplayersessionreferenceuri.md)
- [XblTitleStorageBlobMetadata](https://devdocs.xbox.com/reference/live/xsapi-c/title_storage_c/structs/xbltitlestorageblobmetadata.md)
- [XblMultiplayerSessionReference](https://devdocs.xbox.com/reference/live/xsapi-c/multiplayer_c/structs/xblmultiplayersessionreference.md)
- [XblTitleStorageUploadBlobAsync](https://devdocs.xbox.com/es/reference/live/xsapi-c/title_storage_c/functions/xbltitlestorageuploadblobasync.md)
