Batch
POST /api/v1/links/batch
Section titled “POST /api/v1/links/batch”Crea múltiples short links en una sola petición. Soporta hasta 10,000 links por request.
Permiso requerido: shortlinks:write
Procesamiento
Section titled “Procesamiento”| Cantidad | Modo | Descripción |
|---|---|---|
| ≤ 100 | Síncrono | Retorna resultado inmediato |
| > 100 | Asíncrono | Retorna job_id para polling vía GET /jobs |
Request Body
Section titled “Request Body”{ "domain_id": "64a1b2c3d4e5f6...", "links": [ { "target_url": "https://ejemplo.com/pagina-1", "title": "Link 1" }, { "target_url": "https://ejemplo.com/pagina-2", "title": "Link 2" }, { "target_url": "https://ejemplo.com/pagina-3" } ]}| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
domain_id | string | ❌ | Dominio por defecto para todos |
links | array | ✅ | Array de links a crear |
links[].target_url | string | ✅ | URL destino |
links[].title | string | ❌ | Título del link |
links[].domain_id | string | ❌ | Override de dominio para este link |
links[].tags | string[] | ❌ | Etiquetas |
Response síncrona 200 OK (≤ 100 links)
Section titled “Response síncrona 200 OK (≤ 100 links)”{ "status": "completed", "total": 3, "results": [ { "target_url": "https://ejemplo.com/pagina-1", "code": "a1B2", "short_url": "https://go.linkea.us/a1B2" }, { "target_url": "https://ejemplo.com/pagina-2", "code": "c3D4", "short_url": "https://go.linkea.us/c3D4" }, { "target_url": "https://ejemplo.com/pagina-3", "code": "e5F6", "short_url": "https://go.linkea.us/e5F6" } ]}Response asíncrona 202 Accepted (> 100 links)
Section titled “Response asíncrona 202 Accepted (> 100 links)”{ "job_id": "550e8400-e29b-41d4-a716-446655440000", "status": "processing", "total": 500}Consultar estado del job
Section titled “Consultar estado del job”curl "https://api.linkea.us/api/v1/jobs/550e8400-e29b-41d4-a716-446655440000" \ -H "X-Api-Key: lk_tu_api_key"{ "id": "550e8400-...", "status": "completed", "total": 500, "processed": 500, "results": [...]}