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

# Actualizar enlace compartido

> Actualiza un enlace de compartición existente (dispositivos o tiempo de expiración)

## Authorization

<ParamField header="Authorization" type="string" required default="Bearer ">
  API Key. Formato: `Bearer lbt_•••`
</ParamField>

## Path Parameters

<ParamField path="id" type="uuid" required>
  ID del enlace de compartición
</ParamField>

## Body Parameters

<ParamField body="devices" type="string[]">
  Nueva lista de UUIDs de dispositivos a compartir
</ParamField>

<ParamField body="ttl" type="integer">
  Nuevo tiempo de vida en segundos (recalcula la fecha de expiración)
</ParamField>

<Note>
  Ambos campos son opcionales. Solo se actualizan los campos enviados.
</Note>

## Respuesta

Retorna el objeto `UserShare` actualizado.

<ResponseField name="id" type="uuid">
  ID del enlace de compartición
</ResponseField>

<ResponseField name="account" type="uuid">
  ID de la cuenta propietaria
</ResponseField>

<ResponseField name="devices" type="string[]">
  Lista actualizada de IDs de dispositivos compartidos
</ResponseField>

<ResponseField name="acl" type="string[]">
  Lista de UUIDs de permisos de acceso
</ResponseField>

<ResponseField name="revoked" type="boolean">
  Si el enlace fue revocado
</ResponseField>

<ResponseField name="expires_at" type="datetime">
  Fecha de expiración actualizada
</ResponseField>

<ResponseField name="unique_views" type="integer">
  Número de vistas únicas
</ResponseField>

<ResponseField name="last_accessed_at" type="datetime">
  Último acceso al enlace
</ResponseField>

<ResponseField name="created_at" type="datetime">
  Fecha de creación del enlace
</ResponseField>

### Comportamiento

* Si se envían `devices`, valida que todos existan y el usuario tenga acceso.
* Si se envía `ttl`, recalcula la fecha de expiración.
* Invalida la caché del token.

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "account": "660e8400-e29b-41d4-a716-446655440000",
    "devices": ["770e8400-e29b-41d4-a716-446655440000", "990e8400-e29b-41d4-a716-446655440000"],
    "acl": ["aa0e8400-e29b-41d4-a716-446655440000"],
    "revoked": false,
    "expires_at": "2026-03-20T02:00:00Z",
    "unique_views": 5,
    "last_accessed_at": "2026-03-18T12:00:00Z",
    "created_at": "2026-03-15T00:00:00Z"
  }
  ```
</ResponseExample>

## Errores

| Código | Descripción                 |
| ------ | --------------------------- |
| `400`  | Parámetros o UUID inválidos |
| `404`  | Enlace no encontrado        |
| `500`  | Error interno               |
