Documentação da API
API JSON pública e somente leitura dos arquivos Device Tree aprovados. Use para integrar o catálogo a um bot, app ou site.
URL base
https://dtbvault.comAutenticação
Os endpoints de leitura funcionam sem chave (limitados por IP). Para limites maiores e uso em bots, solicite uma chave pessoal e envie-a em toda requisição no cabeçalho x-api-key (ou Authorization: Bearer). Uma chave aprovada também permite baixar sem o teto de visitante por IP.
Solicitar uma chave de APIEndpoints
GET/api/files
Lista paginada de arquivos aprovados.
GET/api/files/{slug}
Um único arquivo aprovado pelo seu slug público.
GET/api/downloads/{slug}
Baixa o binário do arquivo. Com uma chave válida, ignora o teto de download de visitante por IP.
Parâmetros de consulta
| Parâmetro | Tipo | Descrição |
|---|---|---|
| q | string | Full-text search (filename, console, etc.) |
| console | string | Filter by console name (e.g. R36S) |
| soc | string | Filter by SoC (e.g. RK3326) |
| type | dtb | dtbo | dts | Filter by file type |
| sort | recent | popular | name | Sort order (default: recent) |
| page | number | Page number (default: 1) |
| pageSize | number | Items per page (default: 50) |
Resposta
Cada arquivo é retornado como:
{
"data": [
{
"slug": "rk3326-r35s-linux-2N2QPEt6",
"filename": "rk3326-r35s-linux.dtb",
"type": "dtb",
"console": "R36S",
"soc": "RK3326",
"boardRevision": "Y3506_V03_20241210 2509",
"sizeBytes": 89856,
"totalDownloads": 5,
"uploadedAt": "2026-06-21T10:00:00.000Z",
"url": "https://dtbvault.com/en/file/rk3326-r35s-linux-2N2QPEt6",
"downloadUrl": "https://dtbvault.com/api/downloads/rk3326-r35s-linux-2N2QPEt6"
}
],
"pagination": { "page": 1, "pageSize": 50, "total": 1, "totalPages": 1 }
}Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
| slug | string | Public identifier used in URLs |
| filename | string | Original file name |
| type | string | dtb, dtbo or dts |
| console | string | Console name |
| soc | string | null | System on chip |
| boardRevision | string | null | Board revision |
| sizeBytes | number | File size in bytes |
| totalDownloads | number | Total downloads |
| uploadedAt | string (ISO) | Upload timestamp |
| url | string | Web page for the file |
| downloadUrl | string | Direct download endpoint |
Limites e erros
Sem chave: 60 requisições por minuto por IP. Com uma chave aprovada: o limite por minuto e a cota diária definidos pelo administrador. Toda resposta inclui X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset.
- 401 Unauthorized: a chave é desconhecida, está pendente, recusada ou revogada.
- 429 com erro rateLimited: requisições demais neste minuto (veja Retry-After).
- 429 com erro quotaExceeded: a cota diária foi atingida.
Exemplos
# List files
curl "https://dtbvault.com/api/files?console=R36S&sort=popular&pageSize=10"
# A single file
curl "https://dtbvault.com/api/files/rk3326-r35s-linux-2N2QPEt6"
# With an API key (higher limits, no guest download cap)
curl -H "x-api-key: YOUR_KEY" "https://dtbvault.com/api/files"
# Download the binary
curl -H "x-api-key: YOUR_KEY" \
"https://dtbvault.com/api/downloads/rk3326-r35s-linux-2N2QPEt6" -o file.dtbComo obter uma chave
- Abra a página de acesso à API na sua conta e envie uma solicitação descrevendo onde a chave será usada.
- Um administrador analisa a solicitação e, ao aprovar, define seu limite por minuto e a cota diária.
- Copie sua chave na mesma página e envie-a no cabeçalho x-api-key.