API documentation
Use the Lydev Cloud API to manage CDN assets, short links, and shared files from scripts or CI.
Base URL
https://cloud.lydev.id/api
Authentication
Dashboard requests use the session cookie. Programmatic requests use an API key from Settings, API Keys.
Authorization: Bearer lydev_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Response format
Successful responses wrap the payload in a data field.
{
"data": { ... }
}Errors include a code, message, and optional details.
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Check the form and try again.",
"details": []
}
}Pagination
List endpoints accept page and limit (maximum 100). Responses include items, page, limit, and total.
CDN assets
- GET
/cdnList assets with pagination and filters. - POST
/cdn/uploadCreate a presigned upload target. - POST
/cdn/upload/completeRegister the uploaded object. - GET
/cdn/{id}Read one asset. - DELETE
/cdn/{id}Delete the object and record.
curl -X POST https://cloud.lydev.id/api/cdn/upload \
-H "Authorization: Bearer lydev_..." \
-H "Content-Type: application/json" \
-d '{"filename":"logo.png","mimeType":"image/png","sizeBytes":10240,"folder":"images"}'Upload the file to the returned URL with the returned method and headers, then call the complete endpoint with the same metadata and the returned fileKey.
Short URLs
- GET
/urlsList short links. - POST
/urlsCreate a link with an optional custom slug. - GET
/urls/checkCheck whether a slug is available. - PATCH
/urls/{id}Update the target, title, or active state. - DELETE
/urls/{id}Delete a link. - GET
/urls/{id}/statsRead click analytics.
curl -X POST https://cloud.lydev.id/api/urls \
-H "Authorization: Bearer lydev_..." \
-H "Content-Type: application/json" \
-d '{"targetUrl":"https://example.com","slug":"launch","title":"Launch page"}'File sharing
- GET
/dlList shared files. - POST
/dl/uploadCreate a presigned upload target. - POST
/dl/upload/completeRegister the uploaded file. - PATCH
/dl/{fileId}Change or remove the expiry. - DELETE
/dl/{fileId}Delete the file and record. - GET
/dl/{fileId}/downloadRedirect to a short-lived download URL.
Files are private. Public download pages use a short code: https://dl.lydev.id/{fileId}.
Stats
- GET
/stats/overviewStorage, asset, link, and download totals. - GET
/stats/activityPaginated activity feed. - GET
/stats/storageStorage breakdown by category.
Rate limits
Exceeding a limit returns 429 RATE_LIMITED with a Retry-After header. Login is limited to 5 attempts per 15 minutes, uploads to 60 per hour, and downloads to 30 per minute.