> ## 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.

# Listar instancias

> Enumera las instancias en la cuenta autenticada. Los predicados de nombre exacto y CRN se cruzan con los filtros de tipo de instancia, imagen y otros filtros antes de la paginación.

<Info>
  Requiere la acción de IAM **`compute:ListInstances`**. Consulte [permisos de computación](/es/compute/permissions) para obtener la lista completa, lo que cubre cada una y un ejemplo de directiva.
</Info>


## OpenAPI

````yaml /es/api-reference/specs/compute.yaml get /v1/instances
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/instances:
    get:
      tags:
        - Compute
      summary: Listar instancias
      description: >-
        Enumera las instancias en la cuenta autenticada. Los predicados de
        nombre exacto y CRN se cruzan con los filtros de tipo de instancia,
        imagen y otros filtros antes de la paginación.
      operationId: listInstances
      parameters:
        - $ref: '#/components/parameters/ComputeCRNFilter'
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Marker'
        - $ref: '#/components/parameters/ComputeNameFilter'
        - name: current_state
          in: query
          description: Filtrar por dónde están las instancias.
          schema:
            $ref: '#/components/schemas/CurrentState'
        - name: flavor
          in: query
          description: >-
            Filtrar por referencia de tipo de instancia regional (UUID, CRN o
            nombre exacto).
          schema:
            type: string
            example: a1b2c3d4-e5f6-4789-9abc-def012345678
        - name: image
          in: query
          description: >-
            Filtrar por referencia de imagen (UUID, CRN o nombre; las imágenes
            también aceptan nombre:versión).
          schema:
            type: string
            example: 550e8400-e29b-41d4-a716-446655440001
      responses:
        '200':
          description: Lista de instancias
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - BearerAuth: []
components:
  parameters:
    ComputeCRNFilter:
      name: crn
      in: query
      description: >-
        CRN exacto del recurso, intersecado con todos los demás filtros antes de
        la paginación. Un CRN extranjero o no coincidente devuelve una página
        vacía; los CRN mal formados o vacíos devuelven 400. Las listas de
        archivos adjuntos anidados filtran el recurso representado, no el
        enlace.
      schema:
        type: string
    Limit:
      name: limit
      in: query
      description: >-
        Número máximo de artículos a devolver. Un valor por encima del máximo se
        le aplica en lugar de rechazarlo, por lo que una página más corta que la
        que solicitaste es normal — page until `meta.has_more` es falso, no
        hasta que una página se vea corta.
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
      example: 20
    Marker:
      name: marker
      in: query
      description: >-
        Cursor de paginación opaco. Hacer eco del valor `meta.marker` de la
        página anterior para buscar la siguiente; no construirlo ni analizarlo.
        La forma interna del token varía según el punto final (un ID de recurso,
        una marca de tiempo, etc.) y no se garantiza su estabilidad entre
        versiones.
      required: false
      schema:
        type: string
      example: 550e8400-e29b-41d4-a716-446655440000
    ComputeNameFilter:
      name: name
      in: query
      description: >-
        Nombre exacto, que distinga entre mayúsculas y minúsculas. Los valores
        vacíos no coinciden con recursos con nombre. Las listas de NIC de
        instancia coinciden con los nombres de interfaz dentro de las
        vinculaciones de instancia; pueden coincidir varias interfaces con el
        mismo nombre. Las IP flotantes no tienen identidad de nombre y devuelven
        una lista vacía para este filtro.
      schema:
        type: string
  schemas:
    CurrentState:
      type: string
      description: >
        Donde se encuentra una instancia. Los estados de transición viven aquí,
        no en desired_state — nadie pide `stopping`.
      enum:
        - pending
        - building
        - running
        - stopping
        - stopped
        - rebooting
        - migrating
        - deleting
        - deleted
        - error
        - crashed
        - paused
        - suspended
    InstanceListResponse:
      type: object
      properties:
        instances:
          type: array
          items:
            $ref: '#/components/schemas/Instance'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    Instance:
      type: object
      required:
        - faults
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          example: 550e8400-e29b-41d4-a716-446655440000
        crn:
          type: string
          readOnly: true
          description: Nombre de recurso de la nube
          example: crn:compute:sa-saopaulo-1:my-account:instance/web-01
        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: web-server-01
        description:
          type: string
          example: Primary web server
        task_state:
          type: string
          nullable: true
          description: Transición en curso, si la hubiera; nula cuando se haya resuelto.
          example: null
        flavor:
          allOf:
            - $ref: '#/components/schemas/Flavor'
          description: >-
            Resuelto tipo de instancia (tamaño de cálculo) en el que se ejecuta
            la instancia. Se omite si la fila de tipo de instancia referenciada
            ha sido retirada.
        image:
          allOf:
            - $ref: '#/components/schemas/Image'
          description: >-
            Se ha resuelto la imagen de origen desde la que arrancó la
            instancia. Se omite para un arranque solo de volumen o si la fila de
            imagen referenciada ha desaparecido.
        user_data:
          type: string
          description: >-
            Datos de usuario de cloud-init codificados en Base64 suministrados
            en el lanzamiento.
        iam_role:
          allOf:
            - $ref: '#/components/schemas/InstanceRole'
          description: >-
            Resumen del rol de IAM adjunto, visible con acceso de lectura de
            instancia sin iam:GetRole. Se omite cuando no se adjunta ningún rol,
            el rol se eliminó o pertenece a otra cuenta. Los campos de rol
            confidenciales solo están disponibles a través de la API de IAM.
        metadata:
          $ref: '#/components/schemas/Metadata'
        tags:
          $ref: '#/components/schemas/Tags'
        faults:
          type: array
          description: >-
            Fallos activos ordenados por last_at descendiente, luego id de
            historial interno descendiente para un desempate estable. Los
            recursos sanos regresan [].
          items:
            $ref: '#/components/schemas/Fault'
        created_at:
          type: string
          format: date-time
          readOnly: true
          example: '2024-01-15T10:30:00Z'
        updated_at:
          type: string
          format: date-time
          readOnly: true
          example: '2024-01-15T10:30:00Z'
        launched_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          example: '2026-01-15T09:31:12Z'
        terminated_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          example: null
        desired_state:
          type: string
          enum:
            - running
            - stopped
            - deleted
          example: running
          description: >
            Lo que se pidió. Solo tres valores, porque solo hay tres cosas que
            se pueden pedir a una instancia que sea: Create/Start/Reboot para
            ejecutar, Stop para detener, Delete para eliminar.
        current_state:
          $ref: '#/components/schemas/CurrentState'
          example: running
          description: >
            Lee esto para responder "es arriba" — los estados de transición
            viven aquí, no en desired\_state, porque nadie pide que sea aquí
            donde se encuentra la instancia. `stopping`.


            desired_state=running con current_state=stopped es una instancia que
            se pidió que se iniciara y que aún no ha aparecido.
    PaginationMeta:
      type: object
      properties:
        total:
          type: integer
          description: Número total de artículos
          example: 150
        limit:
          type: integer
          description: Número de artículos por página
          example: 20
        marker:
          type: string
          description: >-
            Cursor opaco para la página siguiente. Pasalo de vuelta como el
            parámetro de consulta `marker`; trátalo como un token, no como un
            valor para analizar.
          example: 550e8400-e29b-41d4-a716-446655440000
        has_more:
          type: boolean
          description: Si hay más artículos
          example: true
    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
    Flavor:
      type: object
      description: >-
        Un tamaño de cálculo (vCPU + RAM). Un tipo de instancia no tiene tamaño
        de disco — el disco de arranque es un volumen de cliente con el tamaño
        al inicio, limitado por el min_disk_gb de la imagen.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          example: 550e8400-e29b-41d4-a716-446655440000
        crn:
          type: string
          readOnly: true
          description: Nombre de recurso de la nube
          example: crn:compute:sa-saopaulo-1:platform:flavor/standard-2
        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: m1.medium
        description:
          type: string
          example: Medium instance with 2 vCPUs and 4GB RAM
        vcpus:
          type: integer
          description: Número de CPU virtuales
          example: 2
        ram_mb:
          type: integer
          description: Memoria RAM en MB
          example: 4096
        class:
          type: string
          description: >-
            Enrutamiento de grupo de hosts. "Compartido" sobresuscribe la CPU
            para una mayor densidad; "Dedicado" conecta cada vCPU 1:1 a un
            núcleo físico.
          enum:
            - shared
            - dedicated
          example: shared
        family:
          type: string
          description: >-
            Qué producto puede reservar el tipo de instancia. Las opciones
            "general" son para instancias regulares y grupos de instancias; las
            opciones "loadbalancer" y "database" están reservadas para los
            productos administrados (sus nodos se operan en plataforma y tienen
            un precio correspondiente) y no se pueden usar para instancias
            regulares.
          enum:
            - general
            - loadbalancer
            - database
          example: general
        net_mbps:
          type: integer
          minimum: 1
          readOnly: true
          description: >-
            Límite agregado de transferencia de red de la instancia en megabits
            por segundo. Se omite cuando no hay límite.
          example: 10000
        cpu_baseline_pct:
          type: integer
          minimum: 1
          readOnly: true
          description: >-
            Mínimo de CPU garantizado como porcentaje de cada vCPU. Se omite
            cuando no hay un mínimo garantizado.
          example: 100
        cpu_burst_pct:
          type: integer
          minimum: 1
          readOnly: true
          description: >-
            Límite de CPU como porcentaje de cada vCPU. El valor 100 o la
            omisión del campo permite usar todas las vCPU.
          example: 100
        status:
          type: string
          enum:
            - active
            - disabled
          example: active
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
    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
    InstanceRole:
      type: object
      required:
        - id
        - crn
        - name
      properties:
        id:
          type: string
          format: uuid
          example: b2c3d4e5-f6a7-8901-2345-67890abcdef1
        crn:
          type: string
          description: >-
            Identidad de rol con ámbito de cuenta, tal como se usa en los
            documentos de directiva.
          example: crn:iam::my-account:role/deploy
        name:
          type: string
          description: Nombre de rol inmutable.
          example: deploy
    Metadata:
      type: object
      additionalProperties:
        type: string
      example:
        environment: production
        team: backend
    Tags:
      type: object
      additionalProperties:
        type: string
      example:
        environment: production
        team: backend
    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
  responses:
    BadRequest:
      description: Parámetros de solicitud no válidos
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_INPUT
              message: Invalid request parameters
              request_id: 550e8400-e29b-41d4-a716-446655440000
    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
    InternalServerError:
      description: Error interno del servidor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INTERNAL_ERROR
              message: An internal error occurred
              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.