CoreAsesmen API

Multi-tenant assessment platform — REST API reference

Base URL: https://compass-api.springup.id/api

System

GET /health Health check

Authentication

POST /auth/login OAuth2 form login (username/email + password)
POST /auth/register-student Token-based student registration
GET /auth/magic-link/{token} Magic link login/register
POST /auth/forgot-password Request password reset email
POST /auth/reset-password Reset password with token
POST /auth/change-password Change password AUTH
GET /auth/me Current user info AUTH

Assessment Packs

GET /assessment-packs List packs PUBLIC
POST /assessment-packs Create pack SUPER_ADMIN
PUT /assessment-packs/{pack_id} Update pack SUPER_ADMIN
DELETE /assessment-packs/{pack_id} Delete pack SUPER_ADMIN

Assessment Tests & Questions

GET /assessment/tests List all tests
GET /assessment/tests/{test_id} Get single test
POST /assessment/tests Create test SUPER_ADMIN
PUT /assessment/tests/{test_id} Update test SUPER_ADMIN
DELETE /assessment/tests/{test_id} Delete test SUPER_ADMIN
POST /assessment/tests/{test_id}/questions/import CSV import questions SUPER_ADMIN
GET /assessment/tests/{test_id}/questions Get questions for test
PUT /assessment/questions/{question_id} Edit question SUPER_ADMIN

Assessment Instructions

GET /assessment/instructions List instructions (filterable by test_id, subtest_code)
GET /assessment/instructions/{id} Get instruction
POST /assessment/instructions Create instruction SUPER_ADMIN
PUT /assessment/instructions/{id} Update instruction SUPER_ADMIN
DELETE /assessment/instructions/{id} Delete instruction SUPER_ADMIN

Assessment Submission & Results

POST /assessment/submit-response Submit answers STUDENT
GET /assessment/ist-completion IST subtest completion status STUDENT
GET /assessment/results/me Own results
GET /assessment/results All results SCHOOL_ADMIN+
GET /assessment/results/{user_id} View user results
GET /assessment/batch-results All batch results SCHOOL_ADMIN+
GET /assessment/batch-results/{batch_id} Batch detail

User Profiles

GET /user-profiles/me Own profile
GET /user-profiles All profiles SUPER_ADMIN
GET /user-profiles/{profile_id} Get profile (owner or admin)
POST /user-profiles Create own profile
PUT /user-profiles/{profile_id} Update profile (owner or admin)
DELETE /user-profiles/{profile_id} Delete profile SUPER_ADMIN

Schools

GET /schools List schools (scoped)
GET /schools/{school_id} Get school
POST /schools Create school SUPER_ADMIN
PUT /schools/{school_id} Update school SUPER_ADMIN
POST /schools/{school_id}/assign-admin Create admin user SUPER_ADMIN
DELETE /schools/{school_id} Delete school (cascading) SUPER_ADMIN

Assessment Tokens

GET /assessment-tokens List tokens (scoped)
GET /assessment-tokens/{token_id} Get token
POST /assessment-tokens Create token SCHOOL_ADMIN+
PUT /assessment-tokens/{token_id} Update token
PUT /assessment-tokens/{token_id}/assign Assign token
POST /assessment-tokens/batch-assign Batch assign from Excel
DELETE /assessment-tokens/{token_id} Delete (AVAILABLE only)

Token Batches

GET /token-batches List batches (scoped)
POST /token-batches Create batch (wallet deduction) SCHOOL_ADMIN+
GET /token-batches/{batch_id}/export-template Export Excel template

Wallet

GET /wallet/me Own school wallet
GET /wallet/transactions Transaction history (scoped)
GET /wallet/all All wallets SUPER_ADMIN

Orders

GET /orders List orders (scoped)
GET /orders/{order_id} Get order
POST /orders Create order SCHOOL_ADMIN+
POST /orders/{order_id}/confirm Confirm order (credits wallet) SUPER_ADMIN
POST /orders/{order_id}/cancel Cancel order SUPER_ADMIN
GET /orders/{order_id}/invoice Download invoice PDF

Cache Monitor

GET /cache/cache-clear Flush application cache SUPER_ADMIN

Role Badges

PUBLIC AUTH STUDENT SCHOOL_ADMIN+ SUPER_ADMIN

SCHOOL_ADMIN+ = SCHOOL_ADMIN, COUNSELOR, and SUPER_ADMIN