Multi-tenant assessment platform — REST API reference
Base URL: https://compass-api.springup.id/api
/health
Health check
/auth/login
OAuth2 form login (username/email + password)
/auth/register-student
Token-based student registration
/auth/magic-link/{token}
Magic link login/register
/auth/forgot-password
Request password reset email
/auth/reset-password
Reset password with token
/auth/change-password
Change password AUTH
/auth/me
Current user info AUTH
/assessment-packs
List packs PUBLIC
/assessment-packs
Create pack SUPER_ADMIN
/assessment-packs/{pack_id}
Update pack SUPER_ADMIN
/assessment-packs/{pack_id}
Delete pack SUPER_ADMIN
/assessment/tests
List all tests
/assessment/tests/{test_id}
Get single test
/assessment/tests
Create test SUPER_ADMIN
/assessment/tests/{test_id}
Update test SUPER_ADMIN
/assessment/tests/{test_id}
Delete test SUPER_ADMIN
/assessment/tests/{test_id}/questions/import
CSV import questions SUPER_ADMIN
/assessment/tests/{test_id}/questions
Get questions for test
/assessment/questions/{question_id}
Edit question SUPER_ADMIN
/assessment/instructions
List instructions (filterable by test_id, subtest_code)
/assessment/instructions/{id}
Get instruction
/assessment/instructions
Create instruction SUPER_ADMIN
/assessment/instructions/{id}
Update instruction SUPER_ADMIN
/assessment/instructions/{id}
Delete instruction SUPER_ADMIN
/assessment/submit-response
Submit answers STUDENT
/assessment/ist-completion
IST subtest completion status STUDENT
/assessment/results/me
Own results
/assessment/results
All results SCHOOL_ADMIN+
/assessment/results/{user_id}
View user results
/assessment/batch-results
All batch results SCHOOL_ADMIN+
/assessment/batch-results/{batch_id}
Batch detail
/user-profiles/me
Own profile
/user-profiles
All profiles SUPER_ADMIN
/user-profiles/{profile_id}
Get profile (owner or admin)
/user-profiles
Create own profile
/user-profiles/{profile_id}
Update profile (owner or admin)
/user-profiles/{profile_id}
Delete profile SUPER_ADMIN
/schools
List schools (scoped)
/schools/{school_id}
Get school
/schools
Create school SUPER_ADMIN
/schools/{school_id}
Update school SUPER_ADMIN
/schools/{school_id}/assign-admin
Create admin user SUPER_ADMIN
/schools/{school_id}
Delete school (cascading) SUPER_ADMIN
/assessment-tokens
List tokens (scoped)
/assessment-tokens/{token_id}
Get token
/assessment-tokens
Create token SCHOOL_ADMIN+
/assessment-tokens/{token_id}
Update token
/assessment-tokens/{token_id}/assign
Assign token
/assessment-tokens/batch-assign
Batch assign from Excel
/assessment-tokens/{token_id}
Delete (AVAILABLE only)
/token-batches
List batches (scoped)
/token-batches
Create batch (wallet deduction) SCHOOL_ADMIN+
/token-batches/{batch_id}/export-template
Export Excel template
/wallet/me
Own school wallet
/wallet/transactions
Transaction history (scoped)
/wallet/all
All wallets SUPER_ADMIN
/orders
List orders (scoped)
/orders/{order_id}
Get order
/orders
Create order SCHOOL_ADMIN+
/orders/{order_id}/confirm
Confirm order (credits wallet) SUPER_ADMIN
/orders/{order_id}/cancel
Cancel order SUPER_ADMIN
/orders/{order_id}/invoice
Download invoice PDF
/cache/cache-clear
Flush application cache SUPER_ADMIN
SCHOOL_ADMIN+ = SCHOOL_ADMIN, COUNSELOR, and SUPER_ADMIN