Admin Portal

Authentication Required

All admin operations require an authorization key. This key is set via the THERMOMETER_EDIT_KEY environment variable when the service is started. Include this key in the Authorization header of your requests.

Upload CSV Data

Upload a CSV file containing team donation data. The CSV should have the following columns:

Sample CSV Format:

name,image_url,total_raised
Team Alpha,https://example.com/alpha.jpg,2500.00
Team Beta,https://example.com/beta.jpg,3200.50
Team Gamma,,1800.00
PUP ALL NIGHT: THE PM PACK,,6987.00
UnderDogs,https://example.com/underdogs.png,5010.00

Download Sample CSV

Update Configuration (Form)

Update the organization name, campaign title, and goal using this form:

Update Configuration (JSON)

Alternatively, you can update the configuration directly using JSON. This allows you to set the organization name, title, goal, and team data programmatically.

Example JSON Configuration:

{
  "organization_name": "Community Animal Rescue Effort Skokie",
  "title": "Annual Fundraising Drive 2025",
  "goal": 10000.0,
  "teams": [
    {
      "name": "Team Alpha",
      "image_url": null,
      "total_raised": 2500.0
    },
    {
      "name": "Team Beta",
      "image_url": "https://example.com/logo.png",
      "total_raised": 3200.0
    }
  ],
  "last_updated": "2025-10-27T00:00:00Z"
}

Example API Request:

curl -X POST https://your-domain.com/admin/config \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_KEY_HERE" \
  -d '{
    "title": "Animal Shelter Donation Drive",
    "goal": 10000.0,
    "teams": [...]
  }'

Current Configuration

API Endpoints

Endpoint Method Description Auth Required
/config GET Get current configuration No
/admin/upload POST Upload CSV file Yes
/admin/config POST Update configuration (JSON) Yes
/thermometer-light.png GET Get thermometer image (light mode) No
/thermometer-light.svg GET Get thermometer SVG (light mode) No
/thermometer-dark.png GET Get thermometer image (dark mode) No
/thermometer-dark.svg GET Get thermometer SVG (dark mode) No
/health GET Health check No

For detailed API documentation, see the OpenAPI specification.

Back to Home View FAQ