REST API · v1

Tài liệu API XuniBOX

API chỉ đọc để lấy danh sách nhạc, nghệ sĩ và thể loại từ kho XuniBOX. Mỗi chủ đề dưới đây là một trang riêng, có đường dẫn riêng để bạn chia sẻ cho đội kỹ thuật.

Changelog

2026-08

Cập nhật tài liệu: bổ sung đầy đủ GET /tracks/:id/audio-url (làm mới link nghe thử) vào bảng endpoint, ví dụ request/response, snippet JavaScript, API Playground và Postman collection.

2026-08

Thêm GET /tracks/:id/audio-url trả riêng audio_url, cover_url, preview_duration_seconds, media_expires_in và expires_at — dùng thay cho việc lưu cứng link media.

2026-08

Phát hành đặc tả OpenAPI theo phiên bản tại /api/public/openapi.v1.json (kèm header X-API-Spec-Version); /openapi.json trở thành bí danh của phiên bản mới nhất. Trang tài liệu bổ sung bộ chọn phiên bản.

2026-08

Thêm GET /readyz (không cần API key, hỗ trợ GET và HEAD) báo trạng thái sẵn sàng nhận traffic kèm timestamp và lý do khi chưa sẵn sàng.

2026-08

Thêm GET /metrics (không cần API key) xuất số liệu định dạng Prometheus cho hệ thống giám sát của đối tác.

2026-08

Thêm GET /status (không cần API key) trả chỉ số vận hành, cấu hình rate limit và toàn bộ chính sách đang áp dụng.

2026-08

Thêm GET /healthz (không cần API key) trả api_version, trạng thái hệ thống, thời gian phản hồi và kết nối cơ sở dữ liệu.

2026-08

Bật Cache-Control và ETag cho mọi response 200; hỗ trợ If-None-Match trả 304. Response lỗi luôn no-store.

2026-08

Công bố đặc tả OpenAPI 3.1 cho toàn bộ /api/public/* để import thẳng vào Swagger UI, Postman và trình sinh SDK.

2026-08

Bắt buộc header X-API-Key cho endpoint dữ liệu, kèm rate limit theo phút (429 + Retry-After) và nhật ký request theo từng key.

2026-08

Thêm GET /tracks/by-ids (tối đa 50 ID/lượt) và tài liệu ví dụ request/response cho từng endpoint.

2026-07

Thêm GET /artists và GET /artists/:id/tracks. Track có thêm artist_id để lọc chính xác.

2026-06

Chuẩn hóa envelope { data, meta } cho mọi endpoint danh sách; giữ lại header X-Total-Count để tương thích ngược.

2026-05

Thêm tham số q, title, artist, genre, page, limit cho GET /tracks.

Sẵn sàng tích hợp?

Gửi thông tin sản phẩm để admin XuniBOX xét duyệt và cấp API key.

Xin quyền tích hợp