# Actualizar Build

> Actualiza los metadatos editables de una Build en Applivery con la Integrations API o Workspace API — nombre de versión, etiquetas y changelog.

Source: https://docs.applivery.com/es/app-distribution/api/builds/update-build/  •  Last updated: 2026-06-09

**Answers:** ¿Qué campos puedo actualizar en una Build existente? · ¿Tengo que incluir todos los campos al actualizar una Build? · ¿Cuál es la diferencia entre la Integrations API y la Workspace API para actualizar builds? · ¿Cómo obtengo el buildId para actualizar una Build? · ¿Puedo actualizar una Build que aún se está procesando? · ¿Para qué sirve el campo disabled en una Build? · ¿Para qué sirve el campo metadata en una Build? · ¿Qué método HTTP se usa para actualizar una Build?

---

**TL;DR:** Actualiza los metadatos de una Build en Applivery con la Integrations API (App API Token) o la Workspace API (token de cuenta de servicio). Solo se actualizan los campos que incluyes — el resto conserva su valor actual.

Actualiza los metadatos editables de una Build existente — nombre de versión, etiquetas, changelog y, en el caso de la Workspace API, campos adicionales como metadatos personalizados, scripts por defecto y estado de deshabilitación. El binario de la Build y la información de procesamiento no se ven afectados.

Incluye solo los campos que quieras cambiar. Los campos no incluidos en el cuerpo de la petición conservan su valor actual.

Applivery proporciona dos APIs independientes para actualizar Builds, cada una con una credencial de autenticación diferente.

---

## Cómo elegir la API correcta

| | Integrations API | Workspace API |
|---|---|---|
| **Diseñada para** | Integraciones por app y pipelines de CI/CD | Automatización a nivel de Workspace en varias Apps |
| **Autenticación** | App API Token (por app) | Token de cuenta de servicio (a nivel de Workspace) |
| **Contexto de app** | Implícito — el token ya está vinculado a una App | Explícito — se requieren `organizationId` y `applicationId` en la ruta |
| **Campos disponibles** | `versionName`, `tags`, `changelog` | Todo lo anterior más `metadata`, `defaultScripts`, `disabled` |
| **Usuarios típicos** | Scripts de CI que actualizan etiquetas y notas tras la subida | Platform engineers que gestionan metadatos de builds en varias Apps |

:::warning
El acceso a las distintas APIs puede no estar disponible en tu plan actual. Consulta la disponibilidad en nuestra [página de precios](https://www.applivery.com/app-distribution-pricing/).
:::

---

## Integrations API

Usa este endpoint para actualizar metadatos de una Build dentro del ámbito de una sola app. La autenticación usa un **App API Token**, vinculado a la App específica.

Para crear un App API Token, consulta [App API Token](https://docs.applivery.com/en/app-distribution/api/app-api-token/).

### Endpoint

```
PUT https://api.applivery.io/v1/integrations/builds/{buildId}
```

### Autenticación

```
Authorization: Bearer <your_app_token>
```

### Formato de la petición

`application/json`

### Parámetros de ruta

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `buildId` | String | Sí | El identificador único de la Build a actualizar. P. ej. `552ae3cfcb5abfc58d733b81`. Se devuelve en la respuesta de [POST – Cargar una Build](https://docs.applivery.com/en/app-distribution/api/builds/upload-build/) y [GET – Lista de Builds](https://docs.applivery.com/en/app-distribution/api/builds/list-builds/). |

### Parámetros

| Parámetro | Tipo | Descripción |
|---|---|---|
| `versionName` | String | Etiqueta de versión legible para esta Build. P. ej. `RC-2`, `v2.5.0-beta`. |
| `tags` | Array | Lista de etiquetas para categorizar la Build. Reemplaza el array de etiquetas existente. P. ej. `["staging", "sprint-43"]`. |
| `changelog` | String | Notas de la versión o descripción de los cambios de esta Build. |

### Ejemplo de petición

```bash
curl 'https://api.applivery.io/v1/integrations/builds/552ae3cfcb5abfc58d733b81' \
  -X PUT \
  -H 'Authorization: Bearer YOUR_APP_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "versionName": "v2.5.0-rc2",
    "tags": ["staging", "sprint-43"],
    "changelog": "Corregido el crash en la pantalla de ajustes"
  }'
```

### Respuestas

**✓ 200 OK**

```json
{
  "status": true,
  "data": {
    "id": "string",
    "status": "success",
    "tags": ["string"],
    "versionName": "string",
    "application": "string",
    "applicationInfo": {
      "id": "string",
      "name": "string",
      "slug": "string",
      "picture": "string"
    },
    "changelog": "string",
    "os": "ios",
    "versionCode": "string",
    "deployer": {
      "name": "string",
      "info": {
        "commitMessage": "string",
        "commit": "string",
        "branch": "string",
        "tag": "string"
      }
    },
    "uploadedBy": {
      "id": "string",
      "email": "user@example.com",
      "firstName": "string",
      "lastName": "string"
    },
    "updatedAt": "2019-08-24T14:15:22Z",
    "createdAt": "2019-08-24T14:15:22Z"
  }
}
```

**✗ 401 Unauthorized**

```json
{
  "status": false,
  "error": {
    "code": 3002,
    "message": "Token Expired"
  }
}
```

**✗ 404 Not Found**

```json
{
  "status": false,
  "error": {
    "code": 3001,
    "message": "Entity not found"
  }
}
```

---

## Workspace API

Usa este endpoint para actualizar Builds a nivel de Workspace — por ejemplo, en flujos de ingeniería de plataforma donde una sola credencial gestiona metadatos en varias Apps.

La autenticación usa un token de **cuenta de servicio**, con ámbito de Workspace y no vinculado a ninguna app individual.

Para crear una cuenta de servicio, consulta [Cuentas de servicio](https://docs.applivery.com/en/platform/api/service-accounts/).

:::info
Este endpoint requiere el permiso `mad.build.management.update` en la cuenta de servicio.
:::

### Endpoint

```
PUT https://api.applivery.io/v1/organizations/{organizationId}/apps/{applicationId}/builds/{buildId}
```

### Parámetros de ruta

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `organizationId` | String | Sí | El identificador único de tu organización en Applivery. |
| `applicationId` | String | Sí | El identificador único de la App a la que pertenece la Build. |
| `buildId` | String | Sí | El identificador único de la Build a actualizar. |

### Autenticación

```
Authorization: Bearer <your_service_account_token>
```

### Formato de la petición

`application/json`

### Parámetros

Además de `versionName`, `tags` y `changelog` disponibles en la Integrations API, la Workspace API expone los siguientes campos:

| Parámetro | Tipo | Descripción |
|---|---|---|
| `metadata` | Object | Objeto de clave-valor personalizado para almacenar información adicional sobre la Build. |
| `defaultScripts.preInstall` | String | Script que se ejecuta antes de instalar la Build en un dispositivo. |
| `defaultScripts.postInstall` | String | Script que se ejecuta después de instalar la Build en un dispositivo. |
| `defaultScripts.audit` | String | Script de auditoría asociado a esta Build. |
| `defaultScripts.enforce` | String | Script de imposición de políticas asociado a esta Build. |
| `defaultScripts.runner` | String | Configuración del ejecutor de scripts para esta Build. |
| `disabled` | Boolean | Si la Build está deshabilitada. Las Builds deshabilitadas no pueden descargarse. |

### Ejemplo de petición

```bash
curl 'https://api.applivery.io/v1/organizations/ORG_ID/apps/APP_ID/builds/552ae3cfcb5abfc58d733b81' \
  -X PUT \
  -H 'Authorization: Bearer YOUR_SERVICE_ACCOUNT_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "versionName": "v2.5.0-rc2",
    "changelog": "Corregido el crash en la pantalla de ajustes",
    "tags": ["staging", "sprint-43"],
    "metadata": {
      "environment": "staging",
      "team": "mobile"
    }
  }'
```

El esquema de la respuesta es idéntico al de la Integrations API. Una actualización correcta devuelve `{ "status": true, "data": { ... } }` con el objeto Build actualizado.
