Dribba · Developers · OpenAPI

Dribba OpenAPI spec

El contrato de la API pública, en OpenAPI 3.1: dribba.com/openapi.json.

Sin clave, sin OAuth y sin registro. 18 operaciones, todas con esquema de respuesta tipado — también los errores.

Qué hay dentro

  • Esquema en todas las operaciones, éxito y error. El content de cada respuesta va inline y solo el schema es $ref: un lector que no resuelve referencias sigue viendo la forma.
  • Errores RFC 9457 (application/problem+json) con code enumerado: api_route_not_found, resource_not_found, method_not_allowed, invalid_request, unsupported_media_type, rate_limit_exceeded, origin_not_allowed, internal_error.
  • Dos servers: producción y sandbox con fixtures congelados. Cambiar de entorno es cambiar la URL base.
  • Convenciones declaradas en x-api-conventions: paginación por cursor, Idempotency-Key, lote, sandbox, y también lo que no aplica —webhooks y, salvo la exportación, trabajos asíncronos—.
  • Ciclo de vida en x-api-lifecycle: versión en la ruta, cambios aditivos dentro de v1, y Deprecation/Sunset con 90 días de aviso.
  • Cuota en x-rate-limit-policy: 120 peticiones cada 60 s por IP, anunciada en cabeceras IETF.

Generar un cliente

No publicamos SDK todavía, y no hace falta esperar a que lo hagamos: el contrato es suficiente para generar uno en el lenguaje que uses.

# TypeScript
npx @openapitools/openapi-generator-cli generate \
  -i https://dribba.com/openapi.json -g typescript-fetch -o ./dribba

# Python
openapi-generator generate \
  -i https://dribba.com/openapi.json -g python -o ./dribba

# Go
oapi-codegen -package dribba https://dribba.com/openapi.json > dribba.go

Para probar sin tocar producción, apunta el cliente al segundo servers: https://dribba.com/sandbox. Mismas rutas, fixtures congelados y X-Sandbox: true en cada respuesta.

Probar sin generar nada

curl https://dribba.com/api            # índice: versiones, cuota, contrato
curl https://dribba.com/api/v1/services
curl "https://dribba.com/api/v1/cases?limit=3"
curl -X POST https://dribba.com/api/v1/estimate \
  -H 'Content-Type: application/json' \
  -d '{"platforms":["ios","android"],"complexity":"standard"}'

Descubrimiento

  • /openapi.json el contrato
  • /.well-known/api-catalog catálogo de API (RFC 9727) con los endpoints enumerados
  • /api índice: versiones, política de cuota y de deprecación
  • /docs referencia legible, con un ancla por código de error
  • /api/llms.txt el área de API resumida para agentes
  • /auth.md autenticación: no hay, y por qué