This guide is for external developers integrating with ActivityManager's GraphQL API.
Base Endpoint
- GraphQL:
https://api.activitymanager.online/graphql - Method:
POST - Content type:
application/json
Authentication
- Call
signIn(input: CreateAuthInput!) - Read
accessTokenfromAuthPayload - Send header on subsequent requests:
Authorization: Bearer <accessToken>
Core Conventions
- IDs use GraphQL
ID - Count-like values use
Int - Status/sort values use enums (not free-form strings)
- Payment credentials are never exposed in query outputs
- Cursor pagination is standard (
first/after/last/before) - Auth signup is self-serve with email token onboarding (no manual admin activation)
Minimal Query Example
query AccountById($id: ID!) {
account(id: $id) {
id
email
firstName
lastName
accountType
}
}
Accounts Query Names (v1)
account(id: ID!)accountsaccountsPaginated(input: AccountsQueryInput!)
Legacy getAccountById/getAllAccounts/getAccountsPaginated names are removed.
Minimal Sign-In Example
mutation SignIn($input: CreateAuthInput!) {
signIn(input: $input) {
accessToken
user {
id
email
accountType
}
}
}
Variables:
{
"input": {
"email": "owner@example.com",
"password": "your-password"
}
}
Public API Readiness Checklist
- Secret values removed from output models
- Naming normalized for query/mutation arguments
- Strong typing applied to IDs, counts, sort fields, and statuses
- Deprecated fields clearly marked for migration
Rate Limiting
- Public GraphQL API traffic is rate-limited by server policy.
- Default policy is conservative and configurable by superadmin in admin UI:
Accounts -> API Rate Limits- Supports per-business overrides by providing a business account ID in the admin rate-limit screen.
- Exceeding the limit returns
429 Too Many Requests.