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

# Crear enlace compartido

> Crea un nuevo enlace de compartición para uno o más dispositivos

## Authorization

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

## Body Parameters

<ParamField body="devices" type="string[]" required>
  UUIDs de los dispositivos a compartir (mínimo 1)
</ParamField>

<ParamField body="ttl" type="integer" required>
  Tiempo de vida del enlace en segundos (mínimo 60)
</ParamField>

## Respuesta

<ResponseField name="id" type="uuid">
  ID del enlace creado
</ResponseField>

<ResponseField name="token" type="string">
  Token aleatorio del enlace
</ResponseField>

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

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

<ResponseField name="original_url" type="string">
  URL completa con token de compartición
</ResponseField>

<ResponseField name="short_url" type="string">
  URL acortada
</ResponseField>

### Comportamiento

* Valida que todos los dispositivos pertenezcan a los grupos del usuario.
* Genera un token aleatorio.
* Calcula la fecha de expiración: `now + ttl` segundos.
* Genera URLs larga y corta.

<ResponseExample>
  ```json 201 theme={null}
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "token": "a1b2c3d4e5f6",
    "devices": ["770e8400-e29b-41d4-a716-446655440000", "880e8400-e29b-41d4-a716-446655440000"],
    "expires_at": "2026-03-18T11:00:00Z",
    "original_url": "https://app.locatebyteli.com/share?token=eyJhbGciOiJIUzI1NiJ9...",
    "short_url": "https://locate.link/abc123"
  }
  ```
</ResponseExample>

## Errores

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