---
title: Endpoints de la API de carga (2019/03)
slug: develop/es/endpoints-de-la-api-de-carga-201903
docTags: 
createdAt: 2025-11-14T19:18:58.031Z
---

Los endpoints de Upload permiten a los usuarios enviar archivos al servidor BSN.Cloud.&#x20;

URL base para este endpoint: ***https\://api.bsn.cloud/Upload/2019/03/REST***

*\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_*



## ELIMINAR /Sessions/\{SessionToken}/

Cancela la sesión de carga de contenido especificada

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**&#x20;

- `TokenDeSesión` <font color="#704ae0">string</font>: El token de la sesión Content Upload generado por el servidor

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `TokenDeSesión` se establece en `WIxMjM0NTY3ODkwIiwibmF`

```none
DELETE /Upload/2019/03/REST/Sessions/WIxMjM0NTY3ODkwIiwibmF/ HTTP/1.1 
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 20 Dec 2024 21:32:34 GMT
Accept: application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa**

<font color="#15803D">204</font>**:&#x20;**&#x4C;a sesión Content Upload especificada se canceló correctamente

**Respuesta de error**

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#B91C1C">403</font>: El token de acceso proporcionado, aunque válido, no brinda acceso a este método 

<font color="#9a0808">404</font>: No se encontró la sesión Content Upload con el token de sesión especificado

<font color="#9a0808">412</font>: El estado actual de la sesión Content Upload tiene una marca de tiempo diferente a la especificada en la solicitud

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

****

## PUBLICAR /Sessions/\{SessionToken}/Uploads/

Crea una nueva Content Upload ya sea dentro del alcance de la sesión Content Upload especificada o de forma independiente

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**&#x20;

- `TokenDeSesión` <font color="#704ae0">string</font>: El token de la sesión Content Upload generado por el servidor o `Ninguno `si la nueva Content Upload es independiente

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**&#x20;

- El [ArgumentosDeCargaDeContenido (2019/03)](docId\:v5SvFABct6ZtXKkli3nIA).

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `TokenDeSesión` se establece en `WIxMjM0NTY3ODkwIiwibmF`

**Ejemplo de Content Upload**

```none
POST /Upload/2019/03/REST/Sessions/WIxMjM0NTY3ODkwIiwibmF/Uploads/ HTTP/1.1 
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/vnd.bsn.content.upload.status.201903+json, application/vnd.bsn.content.upload.negotiation.status.201903+json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

Esta solicitud admite múltiples representaciones de payload para los diferentes casos de uso:

- La representación `application/vnd.bsn.start.content.upload.arguments.201903+json` se utiliza para iniciar la nueva carga de [Entidad de contenido (2022/06)](docId\:YGEYaZNLJL-tSh1ojBbuF) como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.start.content.upload.arguments.201903+json

```json
Content-Type: application/vnd.bsn.start.content.upload.arguments.201903+json
Content-Length: 277

{
  "sessionToken": null,
  "uploadToken": null,
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.start.content.update.arguments.201903+json` se utiliza para modificar la [Entidad de contenido (2022/06)](docId\:YGEYaZNLJL-tSh1ojBbuF) cargada previamente, como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.start.content.update.arguments.201903+json

```json
Content-Type: application/vnd.bsn.start.content.update.arguments.201903+json
Content-Length: 300

{
  "sessionToken": null,
  "uploadToken": null,
  "contentId": 12345,
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.start.webpage.asset.upload.arguments.201903+json `se utiliza para modificar el [Entidad de activos de página web (2022/06)](docId\:hGr428LXFlTh91lM4JVQN) cargado previamente, como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.start.webpage.asset.upload.arguments.201903+json&#x20;

```json
Content-Type: application/vnd.bsn.start.webpage.asset.upload.arguments.201903+json
Content-Length: 371

{
  "sessionToken": "271e6422-704f-4c6f-b6dc-60c17a00f0fc",
  "uploadToken": null,
  "webPageAssetId": 0,
  "relativePath": "/assets/text/",
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "",
  "fileThumb": null,
  "tags": {}
}
```
:::

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta correcta**

<font color="#15803D">201</font>: Devuelve el URI y la marca de tiempo de la entidad [Estado de carga de contenido (2019/03)](docId:1G9F_BCv4N9jgcMBUPXmC)&#x20;

**Ejemplos**

Esta respuesta admite múltiples representaciones de payload para los diferentes casos de uso:

- La representación `application/vnd.bsn.content.upload.status.201903+json` de [Estado de carga de contenido (2019/03)](docId:1G9F_BCv4N9jgcMBUPXmC) que se utiliza para cargas de contenido que no tienen equivalentes en la carpeta de destino:

:::CodeblockTabs
application/vnd.bsn.content.upload.status.201903+json

```json
{
  "sessionToken": "",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "contentId": 0,
  "fileName": "Hello World.txt",
  "fileSize": 12,
  "shA1Hash": "",
  "state": "Started",
  "startTime": "2025-08-26T23:47:37.937Z",
  "endTime": null,
  "lastActivityTime": "2025-08-26T23:47:37.937Z",
  "chunks": [
    {
      "count": 0,
      "length": 12,
      "state": "Uploading"
    }
  ]
}
```
:::

- La representación `application/vnd.bsn.content.upload.negotiation.status.201903+json` de [Estado de negociación de contenido (2019/03)](docId\:CTmmZXLqD_B6KHhKoXHVo) que se utiliza para indicar que hay contenido equivalente en la carpeta de destino y proporcionar detalles al respecto:

:::CodeblockTabs
application/vnd.bsn.content.upload.negotiation.status.201903+json

```json
{
  "sessionToken": "",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "contentId": 0,
  "fileName": "Hello World.txt",
  "fileSize": 12,
  "shA1Hash": "",
  "state": "Started",
  "startTime": "2025-08-26T23:47:37.937Z",
  "endTime": null,
  "lastActivityTime": "2025-08-26T23:47:37.937Z",
  "chunks": null,
  "matchingFiles": [
    {
      "id": 12345,
      "fileName": "Hello World.txt",
      "virtualPath": "\\Shared\\Unsorted\\",
      "mediaType": "Text",
      "fileSize": 12,
      "shA1Hash": "2EF7BDE608CE5404E97D5F042F95F89F1C232871",
      "uploadDate": "2025-08-05T16:30:15.003Z"
    }
  ]
}
```
:::

**Respuesta de error**

<font color="#9a0808">300</font>: No se especifican las representaciones aceptables de Content Upload

<font color="#9a0808">400</font>: Los Content Upload Arguments especificados están incompletos o no son aceptables

<font color="#9a0808">401</font>: El token de acceso es inválido o no se especificó

<font color="#9a0808">404</font>: No se encontró la sesión de carga de contenido con el token de sesión especificado

<font color="#9a0808">406</font>: La representación especificada de la entidad Content Upload no es aceptable

<font color="#9a0808">415</font>: La representación especificada de los argumentos de Content Upload es inválida o no es compatible

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor



## GET  /Sessions/\{SessionToken}/Uploads/\{UploadToken}/

Recupera el estado de la Content Upload especificada

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**&#x20;

- `TokenDeSesión` <font color="#704ae0">string</font>: El Content Upload Session Token generado por el servidor o `Ninguno` si la nueva Content Upload es independiente
- `Token de carga` <font color="#704ae0">string</font>: El Upload Token generado por el servidor

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `TokenDeSesión` se establece en `Ninguno`
- `Token de carga` se establece en `321e6fc1-553f-4bb0-8c7a-d5bf859be6b2`

```none
GET /Upload/2019/03/REST/Sessions/None/Uploads/321e6fc1-553f-4bb0-8c7a-d5bf859be6b2/  HTTP/1.1 
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 20 Dec 2024 21:32:34 GMT
Accept: application/vnd.bsn.content.upload.status.201903+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#15803D">200</font>: Se recuperó correctamente [Estado de carga de contenido (2019/03)](docId:1G9F_BCv4N9jgcMBUPXmC)

**Ejemplo**

:::CodeblockTabs
application/vnd.bsn.content.upload.status.201903+json

```json
{
  "sessionToken": "",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "contentId": 0,
  "fileName": "Hello World.txt",
  "fileSize": 12,
  "shA1Hash": "",
  "state": "Started",
  "startTime": "2025-08-26T23:47:37.937Z",
  "endTime": null,
  "lastActivityTime": "2025-08-26T23:47:37.937Z",
  "chunks": [
    {
      "count": 0,
      "length": 12,
      "state": "Uploading"
    }
  ]
}
```
:::

**Respuesta exitosa**

<font color="#15803D">304</font>: La marca de tiempo especificada en la solicitud es igual o más reciente que la marca de tiempo en el estado actual de Content Upload&#x20;

**Respuesta de error**

<font color="#B91C1C">300</font>: No se especifican representaciones aceptables de Content Upload Session

<font color="#B91C1C">401</font>: El token de acceso es inválido o no se especificó

<font color="#B91C1C">404</font>: No se encontró una sesión de Content Upload con el token de sesión especificado o no se encontró la Content Upload con el token de carga especificado

<font color="#B91C1C">406</font>: La representación especificada de la entidad Content Upload Session no es aceptable

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

****

## PUT  /Sessions/\{SessionToken}/Uploads/\{UploadToken}/

Actualiza el estado de la Content Upload especificada

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**&#x20;

- `SessionToken` <font color="#704ae0">string</font>: El Content Upload Session Token generado por el servidor o `Ninguno` si la nueva carga de contenido es independiente
- `Token de carga` <font color="#704ae0">string</font>: El Content Upload Token generado por el servidor

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**&#x20;

- Los [ArgumentosDeCargaDeContenido (2019/03)](docId\:v5SvFABct6ZtXKkli3nIA) para una nueva carga de contenido, o [ArgumentosDeActualizaciónDeContenido (2019/03)](docId\:hk2tR_n4tN59kyQdNjIxd) para editar el contenido existente (cargado previamente), o<font color="#B91C1C"> </font> para una nueva carga de recursos de página web.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `TokenDeSesión` se establece en `Ninguno`
- `Token de carga` se establece en `321e6fc1-553f-4bb0-8c7a-d5bf859be6b2`

**Ejemplo de carga, inicio y finalización de contenido&#x20;**

```none
PUT /Upload/2019/03/REST/Sessions/None/Uploads/321e6fc1-553f-4bb0-8c7a-d5bf859be6b2/ HTTP/1.1 
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 20 Dec 2024 21:32:34 GMT
Accept: application/vnd.bsn.content.upload.status.201903+json, application/vnd.bsn.content.upload.negotiation.status.201903+json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

Esta solicitud admite múltiples representaciones de payload para los diferentes casos de uso:

- La representación `application/vnd.bsn.start.content.upload.arguments.201903+json` se utiliza para iniciar una carga de entidad @content dentro de una sesión en curso como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.start.content.upload.arguments.201903+json

```json
Content-Type: application/vnd.bsn.start.content.upload.arguments.201903+json
Content-Length: 345

{
  "sessionToken": "271e6422-704f-4c6f-b6dc-60c17a00f0fc",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.content.upload.arguments.201903+json` se utiliza para aclarar una carga de [Entidad de contenido (2022/06)](docId\:YGEYaZNLJL-tSh1ojBbuF) en curso como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.content.upload.arguments.201903+json

```json
Content-Type: application/vnd.bsn.content.upload.arguments.201903+json
Content-Length: 351

{
  "sessionToken": null,
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "2EF7BDE608CE5404E97D5F042F95F89F1C232871",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.complete.content.upload.arguments.201903+json `se utiliza para completar cargas de [Entidad de contenido (2022/06)](docId\:YGEYaZNLJL-tSh1ojBbuF) iniciadas previamente como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.complete.content.upload.arguments.201903+json&#x20;

```json
Content-Type: application/vnd.bsn.complete.content.upload.arguments.201903+json
Content-Length: 351

{
  "sessionToken": null,
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "2EF7BDE608CE5404E97D5F042F95F89F1C232871",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.start.content.update.arguments.201903+json` se utiliza para iniciar una nueva carga que modifica el [Entidad de contenido (2022/06)](docId\:YGEYaZNLJL-tSh1ojBbuF) cargado previamente, como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.start.content.update.arguments.201903+json

```json
Content-Type: application/vnd.bsn.content.update.arguments.201903+json
Content-Length: 368

{
  "sessionToken": "271e6422-704f-4c6f-b6dc-60c17a00f0fc",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "contentId": 12345,
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.content.update.arguments.201903+json` se utiliza para aclarar una carga en curso que modifica un [Entidad de contenido (2022/06)](docId\:YGEYaZNLJL-tSh1ojBbuF) cargado previamente, como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.content.update.arguments.201903+json

```json
Content-Type: application/vnd.bsn.start.content.update.arguments.201903+json
Content-Length: 374

{
  "sessionToken": null,
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "contentId": 12345,
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "2EF7BDE608CE5404E97D5F042F95F89F1C232871",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.complete.content.upload.arguments.201903+json `se utiliza para finalizar una carga que modifica el [Entidad de contenido (2022/06)](docId\:YGEYaZNLJL-tSh1ojBbuF) cargado previamente, como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.complete.content.upload.arguments.201903+json

```json
Content-Type: application/vnd.bsn.complete.content.upload.arguments.201903+json
Content-Length: 374

{
  "sessionToken": null,
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "contentId": 12345,
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "2EF7BDE608CE5404E97D5F042F95F89F1C232871",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación  `application/vnd.bsn.start.webpage.asset.upload.arguments.201903+json` se utiliza para mostrar el estado de una nueva carga de [Entidad de activos de página web (2022/06)](docId\:hGr428LXFlTh91lM4JVQN) como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.start.webpage.asset.upload.arguments.201903+json

```json
Content-Type: application/vnd.bsn.start.webpage.asset.upload.arguments.201903+json
Content-Length: 371

{
  "sessionToken": "271e6422-704f-4c6f-b6dc-60c17a00f0fc",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "webPageAssetId": 0,
  "relativePath": "/assets/text/",
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.webpage.asset.upload.arguments.201903+json` se utiliza para aclarar una carga en curso de [Entidad de activos de página web (2022/06)](docId\:hGr428LXFlTh91lM4JVQN) como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.webpage.asset.upload.arguments.201903+json

```json
Content-Type: application/vnd.bsn.webpage.asset.upload.arguments.201903+json
Content-Length: 445

{
  "sessionToken": "271e6422-704f-4c6f-b6dc-60c17a00f0fc",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "webPageAssetId": 0,
  "relativePath": "/assets/text/",
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "2EF7BDE608CE5404E97D5F042F95F89F1C232871",
  "fileThumb": null,
  "tags": {}
}
```
:::

- La representación `application/vnd.bsn.complete.webpage.asset.upload.arguments.201903+json` se utiliza para completar cargas de [Entidad de activos de página web (2022/06)](docId\:hGr428LXFlTh91lM4JVQN) iniciadas previamente, como se muestra en el siguiente ejemplo:

:::CodeblockTabs
application/vnd.bsn.complete.webpage.asset.upload.arguments.201903+json

```json
Content-Type: application/vnd.bsn.complete.webpage.asset.upload.arguments.201903+json
Content-Length: 445

{
  "sessionToken": "271e6422-704f-4c6f-b6dc-60c17a00f0fc",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "webPageAssetId": 0,
  "relativePath": "/assets/text/",
  "fileName": "Hello World.txt",
  "virtualPath": "\\Shared\\Unsorted\\",
  "mediaType": "Auto",
  "fileSize": 12,
  "fileLastModifiedDate": "0001-01-01T00:00:00",
  "sha1Hash": "2EF7BDE608CE5404E97D5F042F95F89F1C232871",
  "fileThumb": null,
  "tags": {}
}
```
:::

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve el [Estado de carga de contenido (2019/03)](docId:1G9F_BCv4N9jgcMBUPXmC)&#x20;

**Ejemplo**

:::CodeblockTabs
application/vnd.bsn.content.upload.status.201903+json

```json
{
  "sessionToken": "",
  "uploadToken": "321e6fc1-553f-4bb0-8c7a-d5bf859be6b2",
  "contentId": 0,
  "fileName": "Hello World.txt",
  "fileSize": 12,
  "shA1Hash": "2EF7BDE608CE5404E97D5F042F95F89F1C232871",
  "state": "Started",
  "startTime": "2025-08-26T23:47:37.937Z",
  "endTime": null,
  "lastActivityTime": "2025-08-26T23:47:37.937Z",
  "chunks": [
    {
      "count": 0,
      "length": 12,
      "state": "Uploading"
    }
  ]
}
```
:::

**Respuesta de error**

<font color="#B91C1C">300</font>**:&#x20;**&#x4E;o se especifican las representaciones aceptables de la sesión de carga de contenido

<font color="#B91C1C">400</font>: Los argumentos de la sesión de carga de contenido especificados están incompletos o no son aceptables

<font color="#9a0808">401</font>: El token de acceso no es válido o no fue especificado

<font color="#B91C1C">404</font>: No se encontró la sesión de carga de contenido con el token de sesión especificado o no se encontró la carga de contenido con el token de carga especificado

<font color="#B91C1C">406</font>: La representación especificada de la entidad de sesión de carga de contenido no es aceptable

<font color="#B91C1C">412</font>: El estado actual de la sesión de carga de contenido tiene una marca de tiempo diferente a la especificada en la solicitud

<font color="#9a0808">415</font>: La representación especificada de los argumentos de la sesión de carga de contenido no es válida o no es compatible

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor



## ELIMINAR /Sessions/\{SessionToken}/Uploads/\{UploadToken}/

Cancela la carga de contenido especificada&#x20;

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**&#x20;

- `TokenDeSesión` <font color="#704ae0">string</font>: El token de sesión de carga de contenido generado por el servidor o `Ninguno` si la nueva carga de contenido es independiente
- `Token de carga` <font color="#704ae0">string</font>: El token de carga de contenido generado por el servidor

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `TokenDeSesión` se establece en `Ninguno`
- `Token de carga` se establece en `321e6fc1-553f-4bb0-8c7a-d5bf859be6b2`

```none
DELETE /Upload/2019/03/REST/Sessions/None/Uploads/321e6fc1-553f-4bb0-8c7a-d5bf859be6b2/ HTTP/1.1 
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 20 Dec 2024 21:32:34 GMT
Accept: application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa&#x20;**

<font color="#15803D">204</font>**:&#x20;**&#x4C;a carga de contenido especificada fue cancelada correctamente

**Respuesta de error**

<font color="#9a0808">401</font>: El token de acceso no es válido o no fue especificado

<font color="#9a0808">404</font>: No se encontró la sesión de carga de contenido con el token de sesión especificado o no se encontró la carga de contenido con el token de carga especificado

<font color="#9a0808">412</font>: El estado actual de la carga de contenido tiene una marca de tiempo diferente a la especificada en la solicitud

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

****

## GET /Sessions/\{SessionToken}/Uploads/\{UploadToken}/Chunks/

Recupera el estado de los Content Chunks en la Content Upload activa especificada

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**&#x20;

- `TokenDeSesión` <font color="#704ae0">string</font>: El Content Upload Session Token generado por el servidor o `Ninguno` si la nueva Content Upload es independiente
- `Token de carga` <font color="#704ae0">string</font>: El Content Upload Token generado por el servidor&#x20;

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplos de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `TokenDeSesión` se establece en `Ninguno`
- `Token de carga` se establece en `321e6fc1-553f-4bb0-8c7a-d5bf859be6b2`

```none
GET /Upload/2019/03/REST/Sessions/None/Uploads/321e6fc1-553f-4bb0-8c7a-d5bf859be6b2/Chunks/ HTTP/1.1 
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/vnd.bsn.upload.content.chunk.status.list.201903+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta satisfactoria**

<font color="#15803D">200</font>: Se recuperó correctamente una matriz de entidades [ContentChunkStatus (2019/03)](docId\:SLEOtB0pKHkUXDM7Ujsfe)&#x20;

**Ejemplo**

:::CodeblockTabs
application/vnd.bsn.upload.content.chunk.status.list.201903+json

```json
[
  {
    "count": 0,
    "length": 12,
    "state": "Uploading"
  }
]
```
:::

**Respuesta de error**

<font color="#B91C1C">300</font>: Las representaciones aceptables de Content Upload Session no están especificadas

<font color="#B91C1C">401</font>: El token de acceso no es válido o no está especificado

<font color="#B91C1C">404</font>: No se encontró una Content Upload Session con el token de sesión especificado o no se encontró la Content Upload con el token de carga especificado

<font color="#B91C1C">406</font>: La representación especificada de la entidad Content Chunk no es aceptable

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor



## POST  /Sessions/\{SessionToken}/Uploads/\{UploadToken}/Chunks/

Carga un nuevo Content Chunk dentro del alcance del [ContentChunkStatus (2019/03)](docId\:SLEOtB0pKHkUXDM7Ujsfe)&#x20;

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Parámetros de Query String**&#x20;

- `desplazamiento` <font color="#704ae0">string </font><font color="#01a0af">required</font>: Posición inicial de la parte del archivo actual

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**&#x20;

- `TokenDeSesión` <font color="#704ae0">string</font>: El Content Upload Session Token generado por el servidor o `Ninguno` si la nueva Content Upload es independiente
- `Token de carga` <font color="#704ae0">string</font>: El token de carga de contenido generado por el servidor

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**&#x20;

- El [ContentChunkStatus (2019/03)](docId\:SLEOtB0pKHkUXDM7Ujsfe)&#x20;

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplos de solicitud**

Los parámetros y encabezados de solicitud de ejemplo se configuran de la siguiente manera:

- `desplazamiento` se establece en `0`
- `TokenDeSesión` se establece en `Ninguno`
- `Token de carga` se establece en `321e6fc1-553f-4bb0-8c7a-d5bf859be6b2`

```none
POST /Upload/2019/03/REST/Sessions/None/Uploads/321e6fc1-553f-4bb0-8c7a-d5bf859be6b2/Chunks/?offset=0 HTTP/1.1 
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/octet-stream
Content-Length: 12
```

Este es el cuerpo de solicitud de ejemplo:

:::CodeblockTabs
application/octet-stream

```json
Hello World!
```
:::

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa**

<font color="#15803D">202</font>**:&#x20;**&#x45;l Content Chunk especificado se ha agregado correctamente a la cola

**Respuesta de error**

<font color="#B91C1C">4</font><font color="#B91C1C">00</font>: Los datos del Content Chunk especificado están incompletos o no son aceptables

<font color="#B91C1C">401</font>: El token de acceso no es válido o no se ha especificado

<font color="#B91C1C">404</font>: No se encontró una sesión de carga de contenido con el token de sesión especificado o no se encontró la carga de contenido con el token de carga especificado

<font color="#B91C1C">415</font>: El formato del Content Chunk especificado no es válido o no es compatible

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor



