Skip to main content
The Grantiva API is organized around REST. All requests and responses use JSON. The base URL is:
https://grantiva.io/api/v1/

Health check

curl https://grantiva.io/health
{
  "status": "healthy",
  "timestamp": "2025-03-10T12:00:00Z"
}

Errors

All errors return a consistent format:
{
  "error": "not_found",
  "message": "Resource not found"
}
StatusDescription
400Bad request — invalid input
401Unauthorized — missing or invalid authentication
403Forbidden — insufficient permissions or inactive tenant
404Not found
409Conflict — duplicate resource
429Rate limited
500Server error

Rate limiting

Rate limits vary by plan. When exceeded, the API returns 429 Too Many Requests. Retry after the delay indicated in the response.

Pagination

List endpoints support pagination:
?page=1&per=20
Responses include metadata:
{
  "items": [...],
  "metadata": {
    "page": 1,
    "per": 20,
    "total": 142
  }
}