Introduction
Getting Started
Welcome to the Plinth API. This guide will help you get up and running with API access to your organisation's data.
Authentication
The Plinth API supports two authentication methods:
API Key Authentication (Recommended)
API keys are the simplest way to authenticate with the API. Each key is scoped to a single organisation and provides access to that organisation's data.
How to use:
Pass your API key in the x-api-key header:
curl -X GET "https://app.plinth.org.uk/api/v1/members" \
-H "x-api-key: sk_your_api_key_here"
Token Authentication
For applications that integrate with Plinth authentication, you can use your authentication token. When using token authentication, you must specify the organisationId as a query parameter.
curl -X GET "https://app.plinth.org.uk/api/v1/members?organisationId=your_org_id" \
-H "Authorization: Bearer your-auth-token"
Generating an API Key
API keys can be generated and managed by organisation administrators through the Plinth dashboard.
Steps to generate a key:
- Log in to your Plinth account at app.plinth.org.uk
- Navigate to Settings > API Keys
- Click Generate New API Key
- Enter a descriptive name for your key (e.g., "Marketing Integration", "Data Export Script")
- Click Generate
- Important: Copy your API key immediately. For security reasons, the full key is only displayed once and cannot be retrieved later.
API Key Format
API keys begin with the prefix sk_ followed by a random string, for example:
sk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4
Managing API Keys
From the API Keys settings page, you can:
- View all API keys for your organisation (only the first 8 characters are shown for security)
- Revoke a key to immediately disable it
- Reactivate a previously revoked key
- Delete a key permanently
Security Note
Treat your API key like a password. Never commit it to version control, share it publicly, or include it in client-side code. Use environment variables to store your API key securely.
Base URL
All API requests should be made to:
https://app.plinth.org.uk/api/v1
Common Response Format
All endpoints return JSON responses with consistent formatting:
Success Responses
List endpoints return paginated results:
{
"members": [...],
"offset": 0,
"limit": 100,
"total": 250
}
Error Responses
Errors follow a consistent format:
{
"type": "ERROR_CODE",
"message": "Human readable error message"
}
Common HTTP Status Codes:
| Status | Description |
|---|---|
| 200 | Success |
| 201 | Resource created |
| 204 | Success (no content) |
| 400 | Bad request - check your parameters |
| 401 | Unauthorized - invalid or missing credentials |
| 403 | Forbidden - insufficient permissions |
| 404 | Not found |
| 405 | Method not allowed |
| 500 | Internal server error |
Pagination
Most list endpoints support pagination with these query parameters:
limit(number, default: 100, max: 250) - Number of results to returnoffset(number, default: 0) - Number of results to skip
Example:
# Get the second page of 50 results
curl "https://app.plinth.org.uk/api/v1/members?limit=50&offset=50" \
-H "x-api-key: sk_your_api_key"
Filtering
Most list endpoints support filtering via query parameters. Any field in the document can be used as a filter:
# Filter members by email
curl "https://app.plinth.org.uk/api/v1/members?email=john@example.com" \
-H "x-api-key: sk_your_api_key"
Data Type Parsing:
- Booleans:
trueorfalse(case-insensitive) - Numbers: Automatically parsed
- Strings: Used as-is
Timestamps
All timestamp fields are returned in ISO 8601 format:
2025-01-15T10:30:00.000Z
Rate Limiting
The API may be subject to rate limiting. Check response headers for rate limit information.
Available Endpoints
The API provides access to the following resources:
| Endpoint | Description |
|---|---|
/api/v1/members | Manage organisation members |
/api/v1/volunteers | Access volunteer records |
/api/v1/partners | Access partner organisations |
/api/v1/events | List events and sessions |
/api/v1/bookings | View event bookings |
/api/v1/forms | Access forms and surveys |
/api/v1/survey-responses | Retrieve survey/form responses |
/api/v1/case-notes | Access case management notes |
/api/v1/funds | View funding programmes |
/api/v1/grant-applications | Access grant applications |
/api/v1/disbursements | View payment disbursements |
/api/v1/schemas/:organisationId | Get organisation schema |
Next Steps
- Explore the Members API to retrieve and create members
- View Bookings to access event attendance data
- Check out Events to list your organisation's events
- Use the Schemas endpoint to discover available fields
Support
If you encounter any issues or have questions about the API, please contact your system administrator or reach out to the Plinth support team.
