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

# Eliminar una imagen no utilizada

> Eliminar una imagen de plataforma requiere que un principal actúe en la cuenta de la plataforma con `compute:DeleteImage`; otras cuentas reciben 403.

Rechaza con 409 y el código IMAGE_IN_USE si alguna instancia (en cualquier estado) o plantilla de grupo de instancias hace referencia a esta imagen. La imagen no ha cambiado. El sobre de error de código/mensaje existente no tiene ningún campo de detalles estructurados; los nombres de los mensajes cuentan ambos, incluido cero, por ejemplo: "imagen está en uso por 2 instancias y 0 grupos".

Una imagen no utilizada pasa a status=deleting y su instantánea y datos base se recuperan de forma asíncrona. GET devuelve el recurso de eliminación hasta que se completa la limpieza, luego 404. Un DELETE repetido devuelve 404, incluso durante la limpieza. Las imágenes retiradas siguen las mismas comprobaciones de referencia.


<Info>
  Acción de IAM principal: **`compute:DeleteImage`**. Eliminar una imagen de plataforma requiere que un principal actúe en la cuenta de la plataforma con `compute:DeleteImage`; otras cuentas reciben 403. Consulte [permisos de computación](/es/compute/permissions) para obtener ejemplos de directivas.
</Info>


## OpenAPI

````yaml /es/api-reference/specs/compute.yaml delete /v1/images/{image_id}
openapi: 3.0.3
info:
  title: Basaltic Compute API
  version: 1.0.0
  description: >
    Instancias de máquinas virtuales y las imágenes, los tipos de instancia y
    los grupos de instancias a partir de los cuales se crean. Cubre todo el
    ciclo de vida de la instancia: inicio, parada, reinicio, cambio de tamaño y
    reinstalación.
  contact:
    name: Basaltic Support
    email: ping@basaltic.sh
  license:
    name: Proprietary
    url: https://basaltic.sh/terms
servers:
  - url: https://compute.{region}.basaltic.sh
    description: Punto final de API regional
    variables:
      region:
        default: sa-saopaulo-1
        description: Código de región
security:
  - BearerAuth: []
paths:
  /v1/images/{image_id}:
    delete:
      tags:
        - Images
      summary: Eliminar una imagen no utilizada
      description: >
        Eliminar una imagen de plataforma requiere que un principal actúe en la
        cuenta de la plataforma con `compute:DeleteImage`; otras cuentas reciben
        403.


        Rechaza con 409 y el código IMAGE_IN_USE si alguna instancia (en
        cualquier estado) o plantilla de grupo de instancias hace referencia a
        esta imagen. La imagen no ha cambiado. El sobre de error de
        código/mensaje existente no tiene ningún campo de detalles
        estructurados; los nombres de los mensajes cuentan ambos, incluido cero,
        por ejemplo: "imagen está en uso por 2 instancias y 0 grupos".


        Una imagen no utilizada pasa a status=deleting y su instantánea y datos
        base se recuperan de forma asíncrona. GET devuelve el recurso de
        eliminación hasta que se completa la limpieza, luego 404. Un DELETE
        repetido devuelve 404, incluso durante la limpieza. Las imágenes
        retiradas siguen las mismas comprobaciones de referencia.
      operationId: deleteImage
      parameters:
        - $ref: '#/components/parameters/ImageId'
      responses:
        '202':
          description: Imagen aceptada para eliminación asíncrona (status=deleting)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
      security:
        - BearerAuth: []
components:
  parameters:
    ImageId:
      name: image_id
      in: path
      description: ID de imagen
      required: true
      schema:
        type: string
        format: uuid
      example: 550e8400-e29b-41d4-a716-446655440000
  schemas:
    ImageResponse:
      type: object
      properties:
        image:
          $ref: '#/components/schemas/Image'
      required:
        - image
    Image:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        crn:
          type: string
          example: >-
            crn:compute:sa-saopaulo-1:my-account:image/ubuntu-24.04/architecture/amd64/version/20260901
        name:
          description: >-
            Los nombres de los recursos no deben comenzar con el prefijo literal
            crn: ni ser UUID (en cualquier caso, en las formas canónica,
            compacta, entre corchetes o urn:uuid:).
          type: string
          example: ubuntu-24.04
        description:
          type: string
          example: Ubuntu 24.04 LTS (Noble Numbat)
        os:
          type: string
          example: ubuntu
        os_version:
          type: string
          example: '24.04'
        architecture:
          type: string
          example: amd64
        version:
          type: string
          description: >
            La identidad de la compilación dentro de su nombre. Único allí: un
            nombre es una etiqueta móvil, por lo que no puede ser también lo que
            dice dos construcciones aparte. Se estampa como una marca de tiempo
            UTC cuando el cargador no eligió una.
          example: '20260807'
        is_current:
          type: boolean
          description: >
            Si esta es la versión que resolve-by-name devuelve para su (nombre,
            arquitectura) — i.e. El objetivo de la etiqueta actual del nombre.
          example: true
        eol_date:
          type: string
          format: date
          description: >
            El día en que la versión del sistema operativo de esta imagen deja
            de recibir actualizaciones de seguridad gratuitas para una
            instalación predeterminada. Ausente cuando nadie ha registrado uno,
            lo que significa desconocido, no "soportado indefinidamente".


            Las imágenes de la plataforma se retiran del catálogo durante un
            período de gracia después de esta fecha. Se mantienen arrancables
            por id hasta entonces, y la fecha se publica con bastante antelación
            para que puedas planificar el movimiento.
          example: '2026-08-31'
        size_bytes:
          type: integer
          format: int64
          example: 2361393152
        min_disk_gb:
          type: integer
          minimum: 0
          maximum: 16384
          example: 10
        min_ram_mb:
          type: integer
          minimum: 0
          example: 1024
        status:
          type: string
          enum:
            - pending
            - importing
            - active
            - error
            - deleting
            - withdrawn
          description: >-
            Error exactamente mientras existe un error activo; el progreso de
            importación y eliminación sigue siendo independientemente
            reintentable.
          example: active
        withdrawal_reason:
          type: string
          description: >
            Por qué se retiró esta imagen. Presente para imágenes retiradas,
            incluyendo aquellas con un fallo de error independiente: end_of_life
            para retirada de la versión de la plataforma (ver eol_date), o
            legacy para una retirada migrada cuya razón original se desconoce.
            Las imágenes retiradas conservan sus datos pero no se pueden lanzar.
          example: end_of_life
        deletion_retention:
          type: object
          readOnly: true
          description: >
            Presente en las respuestas de lista de propietarios/detalles
            mientras la eliminación de imágenes está esperando referencias de
            instancias, reservas de origen o grupos de instancias existentes.
            Los recuentos incluyen todas las cuentas de referencia sin revelar
            sus identidades. Los datos de respaldo permanecen intactos; la
            limpieza se reanuda cuando las referencias desaparecen. Las fallas
            independientes pueden establecer el estado en error.
          required:
            - reason
            - instances
            - instance_pools
          properties:
            reason:
              type: string
              enum:
                - in_use
            instances:
              type: integer
              minimum: 0
            instance_pools:
              type: integer
              minimum: 0
        faults:
          type: array
          readOnly: true
          description: >-
            Fallas activas, más reciente primero. Vacío para una imagen
            saludable. Los errores de error establecen el estado en error sin
            deshabilitar un reintento de importación o limpieza elegible.
          items:
            $ref: '#/components/schemas/Fault'
        tags:
          $ref: '#/components/schemas/Tags'
        attributes:
          type: object
          additionalProperties:
            type: string
        created_at:
          type: string
          format: date-time
          example: '2026-01-15T09:30:00Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-01-15T09:30:00Z'
      required:
        - id
        - crn
        - name
        - version
        - architecture
        - status
        - faults
        - created_at
        - updated_at
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
              description: Código de error que identifica el tipo de error
              example: INVALID_INPUT
            message:
              type: string
              description: Mensaje de error legible por el ser humano
              example: Invalid request parameters
            params:
              type: object
              additionalProperties: true
              description: >-
                Valores no sensibles opcionales para la interpolación de errores
                localizados, codificados por código de error. Nunca presente por
                errores del servidor.
              example:
                instances: 2
                pools: 0
            request_id:
              type: string
              format: uuid
              description: Solicitar ID para depuración
              example: 550e8400-e29b-41d4-a716-446655440000
    Fault:
      type: object
      required:
        - code
        - severity
        - message
        - details
        - first_at
        - last_at
        - occurrences
      properties:
        code:
          type: string
          description: >-
            Código legible por máquina estable propiedad de la operación de
            informes.
          example: BACKUP_FAILED
        severity:
          type: string
          enum:
            - error
            - warning
        message:
          type: string
          example: Backup upload failed.
        details:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Contexto estructurado; las cadenas heredadas se conservan en
            legacy_text.
        first_at:
          type: string
          format: date-time
          description: Primera observación en esta serie de ocurrencias activas.
        last_at:
          type: string
          format: date-time
          description: Última observación en esta serie de ocurrencias activas.
        occurrences:
          type: integer
          minimum: 1
          example: 1
    Tags:
      type: object
      additionalProperties:
        type: string
      example:
        environment: production
        team: backend
  responses:
    Unauthorized:
      description: Se requiere autenticación o el token no es válido
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: UNAUTHORIZED
              message: Authentication required
              request_id: 550e8400-e29b-41d4-a716-446655440000
    Forbidden:
      description: Permisos insuficientes
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: ACCESS_DENIED
              message: You don't have permission to perform this action
              request_id: 550e8400-e29b-41d4-a716-446655440000
    NotFound:
      description: No se encontró el recurso
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: NOT_FOUND
              message: Resource not found
              request_id: 550e8400-e29b-41d4-a716-446655440000
    Conflict:
      description: Conflicto de recursos (por ejemplo, ya existe, estado no válido)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: CONFLICT
              message: Resource with this name already exists
              request_id: 550e8400-e29b-41d4-a716-446655440000
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >+
        Un token bearer de OAuth 2.0, enviado como `Authorization: Bearer
        <token>`. Esta es la forma recomendada de autenticación.


        Obtén el token intercambiando el par de claves de acceso de una cuenta
        de servicio en `POST /v1/oauth/token` con
        `grant_type=client_credentials`. Es el flujo estándar de credenciales de
        cliente; las bibliotecas compatibles con OAuth pueden obtener y renovar
        el token por ti.


        ```

        curl -s -u "$KEY_ID:$SECRET" -d grant_type=client_credentials \
          https://iam.basaltic.sh/v1/oauth/token
        ```


        Los tokens duran una hora por defecto. El mismo par de claves de acceso
        también sirve como credencial AWS SigV4 para el endpoint de objetos
        compatible con S3, que solo acepta ese método de autenticación.


````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.