API Documentation

Technical

Comprehensive API reference for developers, integration guides, and technical specifications

Version 2.16.0Updated September 21, 2025PRODUCTION READY

API Overview

The SHELTR API provides developers with comprehensive access to platform functionality, enabling seamless integration with shelter management systems, donor platforms, and participant services. Built on modern REST principles with blockchain integration.

✅ Current Status: Production-Ready Multi-Tenant Platform

Base URL: https://sheltr-api-714964620823.us-central1.run.app (Production)
Authentication: Firebase ID tokens ✅ OPERATIONAL
Multi-Tenant: 10 shelter tenants with real data connectivity ✅ LIVE

REST API Endpoints
RESTful API with consistent JSON responses
  • • Multi-tenant user management
  • • Real donation processing (Adyen)
  • • QR code generation & tracking
  • • Analytics & financial reporting
  • • AI chatbot integration
  • • Knowledge base management
Authentication & Security
Enterprise-grade security and access controls
  • • Firebase ID token authentication
  • • 5-role access control system
  • • Multi-tenant data isolation
  • • CORS protection
  • • Real-time security monitoring

🎯 5-Role Access Control System

Super Admin
Platform-wide access
Full Access

All endpoints & operations

Platform Admin
Cross-tenant management
Admin Level

Multi-tenant operations

Shelter Admin
Shelter-specific data
Tenant Access

Shelter management

Participant
Personal profile
User Access

Own data & services

Donor
Donation tracking
Donor Access

Impact & donations

📚 API Endpoints

Authentication (/auth)
User registration, login, and role management
  • POST /auth/register - Register new user
  • GET /auth/profile - Get user profile
  • PUT /auth/profile - Update profile
  • GET /auth/users - List users (admin)
  • PUT /auth/role/{user_id} - Update role
Analytics (/analytics)
Platform and shelter analytics
  • GET /analytics/platform - Platform metrics
  • GET /analytics/shelter/{id} - Shelter analytics
  • GET /analytics/user/{id} - User analytics
  • POST /analytics/report - Custom reports
Services (/services)
Shelter service management
  • GET /services/ - List services
  • POST /services/ - Create service
  • PUT /services/{id} - Update service
  • DELETE /services/{id} - Delete service
Donations (/donations)
Donation processing and tracking
  • POST /donations/create - Process donation
  • GET /donations/{id} - Get donation
  • GET /donations/participant/{id} - Participant donations
  • GET /donations/donor/{id} - Donor history

Quick Start

# Get user profile curl -X GET "https://sheltr-api-714964620823.us-central1.run.app/auth/profile" \ -H "Authorization: Bearer <firebase-id-token>" \ -H "Content-Type: application/json" # Standard API Response { "success": true, "data": { /* Response data */ }, "message": "Operation completed successfully", "timestamp": 1691827200.0 }

Production Environment

Base URL: https://sheltr-api-714964620823.us-central1.run.app

Authentication: Firebase ID tokens required for all endpoints

Development Environment

Base URL: http://localhost:8000

Interactive documentation available at /docs endpoint