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

# Enviar y descargar imágenes

> Cree un repositorio y use su URI con un cliente OCI.

[Cree un repositorio](/es/registry/create-repository) en la cuenta y región seleccionadas y use la `uri` devuelta para enviar y descargar imágenes.

<span id="log-in" />

## Iniciar sesión

Intercambie el token de la plataforma por una credencial de Registry. Mantenga la contraseña fuera de los argumentos de shell y de los registros; use la entrada estándar del cliente.

```bash theme={null}
set -o pipefail
curl --fail-with-body --silent --show-error --request POST \
  https://registry.sa-saopaulo-1.basaltic.sh/v1/authorization-token \
  --header "Authorization: Bearer $TOKEN" \
  --header "X-Account-Id: $ACCOUNT" \
  | jq -er '.authorization_data.password' \
  | docker login --username basaltic --password-stdin \
      cr.sa-saopaulo-1.basaltic.cloud
```

La respuesta incluye `expires_at`. Renueve la credencial cuando venza. El cliente obtiene tokens separados por repositorio durante push y pull. Duran cinco minutos; las revocaciones de política se aplican al evaluar el siguiente token.

<span id="push-a-release" />

## Enviar una versión

Defina `IMAGE_URI` con la URI devuelta y envíe su imagen local:

```bash theme={null}
docker tag my-app:v1 "$IMAGE_URI:v1"
docker push "$IMAGE_URI:v1"
docker pull "$IMAGE_URI:v1"
```

Para despliegues reproducibles, use `IMAGE_URI@sha256:...` con el digest devuelto por el push. Las etiquetas facilitan la búsqueda; el digest identifica el manifiesto exacto. El `manifest` interpretado en la respuesta REST sirve para inspección. Obtenga el manifiesto original mediante el cliente OCI para verificar el digest.

<span id="inspect-and-remove" />

## Inspeccionar y eliminar

Liste imágenes en `/v1/repositories/{repository_id}/images` y etiquetas en `/v1/repositories/{repository_id}/tags`. La lista de imágenes acepta `tag_status` y `tag_prefix`; la paginación de etiquetas usa el nombre de una etiqueta como cursor.

La eliminación por lotes acepta entradas explícitas por digest o etiqueta. Compruebe cada resultado: un fallo no impide las demás entradas. Eliminar un repositorio con imágenes exige `force=true`, que no ignora la protección contra eliminación. Desactive la protección explícitamente antes de eliminarlo.


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