MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>

Authenticating requests

This API is not authenticated.

Endpoints

GET api/v1/config

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "id": 1,
    "school_name": "Scions Academy",
    "school_short_name": "Scions",
    "address": "123 Education Street, Knowledge City",
    "phone": "+234 800 123 4567",
    "email": "info@scions.edu",
    "website": "https://scions.edu",
    "logo": "/images/school-logo.jpg",
    "favicon": "/images/favicon.ico",
    "tagline": "Excellence in Education",
    "academic_year": "2025-2026",
    "facebook": "https://facebook.com/scionsacademy",
    "twitter": "https://twitter.com/scionsacademy",
    "instagram": "https://instagram.com/scionsacademy",
    "linkedin": "https://linkedin.com/school/scionsacademy",
    "pwa_enabled": true,
    "pwa_app_name": "Scions Academy",
    "pwa_theme_color": "#7B1FA2",
    "pwa_background_color": null,
    "receipt_no_format": "RCP{YEAR}{NUMBER:6}",
    "student_prefix": "STU",
    "student_pattern": "{YEAR}{NUMBER:4}",
    "student_start": 1,
    "student_auto": true,
    "staff_prefix": "STF",
    "staff_pattern": "{YEAR}{NUMBER:4}",
    "staff_start": 1,
    "staff_auto": true,
    "public_theme": "default",
    "dashboard_theme": "dark",
    "app_version": "1.0.0",
    "app_link": "https://scoolmanager.com",
    "powered_by": "Netvoize",
    "powered_by_link": "https://netvoizesolutions.com",
    "feature_students": true,
    "feature_classes": true,
    "feature_subjects": true,
    "feature_grades": true,
    "feature_report_cards": true,
    "feature_promotions": true,
    "feature_exams": true,
    "feature_exam_schedules": true,
    "feature_finance": true,
    "feature_invoices": true,
    "feature_payments": true,
    "feature_fee_templates": true,
    "feature_receipts": true,
    "feature_accounting": true,
    "feature_admissions": true,
    "feature_staff": true,
    "feature_parents": true,
    "feature_users": true,
    "feature_roles": true,
    "feature_cms": true,
    "feature_social_media": true,
    "feature_notifications": true,
    "feature_ai_academy": true,
    "feature_backups": true,
    "feature_audit_logs": true,
    "feature_settings": true,
    "feature_disabled_message": "This feature is not available on your current plan. Please upgrade to access it.",
    "solution_provider_contact": "support@scions.edu",
    "created_at": "2026-05-28T20:34:42.000000Z",
    "updated_at": "2026-05-28T21:00:07.000000Z"
}
 

Request      

GET api/v1/config

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/system/pwa

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/pwa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/pwa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "pwa_enabled": true,
    "pwa_app_name": "Scions Academy",
    "pwa_theme_color": "#7B1FA2",
    "pwa_background_color": "#0f0f1a"
}
 

Request      

GET api/v1/system/pwa

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/system/pwa/track

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/system/pwa/track" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"device_type\": \"vmqeopfuudtdsufvyvddq\",
    \"platform\": \"amniihfqcoynlazghdtqt\",
    \"browser\": \"qxbajwbpilpmufinllwlo\",
    \"browser_version\": \"auydlsmsjuryvojcybzvr\",
    \"device_info\": \"byickznkygloigmkwxphl\",
    \"install_id\": \"vazjrcnfbaqywuxhgjjmz\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/system/pwa/track"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "device_type": "vmqeopfuudtdsufvyvddq",
    "platform": "amniihfqcoynlazghdtqt",
    "browser": "qxbajwbpilpmufinllwlo",
    "browser_version": "auydlsmsjuryvojcybzvr",
    "device_info": "byickznkygloigmkwxphl",
    "install_id": "vazjrcnfbaqywuxhgjjmz"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/system/pwa/track

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

device_type   string  optional    

Must not be greater than 50 characters. Example: vmqeopfuudtdsufvyvddq

platform   string  optional    

Must not be greater than 50 characters. Example: amniihfqcoynlazghdtqt

browser   string  optional    

Must not be greater than 50 characters. Example: qxbajwbpilpmufinllwlo

browser_version   string  optional    

Must not be greater than 50 characters. Example: auydlsmsjuryvojcybzvr

device_info   string  optional    

Must not be greater than 500 characters. Example: byickznkygloigmkwxphl

install_id   string     

Must not be greater than 100 characters. Example: vazjrcnfbaqywuxhgjjmz

GET api/v1/slides

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/slides" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/slides"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

[
    {
        "id": 1,
        "badge": "Welcome to Our School",
        "title": "Welcome to Our School",
        "description": "Smart School Management Platform",
        "image": "https://images.pexels.com/photos/4778621/pexels-photo-4778621.jpeg",
        "primaryLink": "/admissions",
        "primaryText": "Apply Now",
        "secondaryLink": "/about",
        "secondaryText": "Learn More"
    },
    {
        "id": 2,
        "badge": "Quality Education",
        "title": "Quality Education",
        "description": "Students in classroom learning",
        "image": "https://images.pexels.com/photos/3850255/pexels-photo-3850255.jpeg",
        "primaryLink": "/admissions",
        "primaryText": "Apply Now",
        "secondaryLink": "/about",
        "secondaryText": "Learn More"
    },
    {
        "id": 3,
        "badge": "Campus Life",
        "title": "Campus Life",
        "description": "School campus building",
        "image": "https://images.pexels.com/photos/256541/pexels-photo-256541.jpeg",
        "primaryLink": "/admissions",
        "primaryText": "Apply Now",
        "secondaryLink": "/about",
        "secondaryText": "Learn More"
    }
]
 

Request      

GET api/v1/slides

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get current public theme

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/public-theme" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/public-theme"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "success": true,
    "theme": "default"
}
 

Request      

GET api/v1/public-theme

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get available themes list

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/public-themes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/public-themes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "success": true,
    "themes": [
        {
            "id": "default",
            "name": "Default Theme",
            "description": "Classic dark purple theme",
            "colors": [
                "#0D0518",
                "#1A0A2E",
                "#7B1FA2"
            ],
            "preview": "linear-gradient(135deg, #0D0518 0%, #1A0A2E 50%, #7B1FA2 100%)"
        },
        {
            "id": "ocean-glass",
            "name": "Ocean Glass",
            "description": "Deep blue to cyan gradient with glass effect",
            "colors": [
                "#001a33",
                "#003366",
                "#00d4ff"
            ],
            "preview": "linear-gradient(135deg, #001a33 0%, #003366 25%, #004d7a 50%, #006994 75%, #0085ad 100%)"
        },
        {
            "id": "sunset-glass",
            "name": "Sunset Glass",
            "description": "Warm orange to pink gradient",
            "colors": [
                "#2d1b1b",
                "#ff6b35",
                "#ff8fab"
            ],
            "preview": "linear-gradient(135deg, #2d1b1b 0%, #4a1c1c 25%, #6b2c2c 50%, #8b3a3a 75%, #a84848 100%)"
        },
        {
            "id": "aurora-glass",
            "name": "Aurora Glass",
            "description": "Purple to green gradient like Northern Lights",
            "colors": [
                "#1a1b3a",
                "#7c3aed",
                "#4ade80"
            ],
            "preview": "linear-gradient(135deg, #1a1b3a 0%, #2d1b4e 25%, #1e3a2f 50%, #2d5a3f 75%, #3d7a4f 100%)"
        },
        {
            "id": "midnight-glass",
            "name": "Midnight Glass",
            "description": "Dark blue to purple gradient for night mode",
            "colors": [
                "#020617",
                "#4c1d95",
                "#6366f1"
            ],
            "preview": "linear-gradient(135deg, #020617 0%, #0f172a 25%, #1e1b4b 50%, #312e81 75%, #1e1b4b 100%)"
        },
        {
            "id": "cherry-glass",
            "name": "Cherry Blossom",
            "description": "Soft pink to white gradient",
            "colors": [
                "#fff1f2",
                "#f9a8d4",
                "#ec4899"
            ],
            "preview": "linear-gradient(135deg, #fff1f2 0%, #fce7f3 25%, #fbcfe8 50%, #f9a8d4 75%, #f472b6 100%)"
        }
    ]
}
 

Request      

GET api/v1/public-themes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get current dashboard theme

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/dashboard-theme" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/dashboard-theme"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "success": true,
    "theme": "dark"
}
 

Request      

GET api/v1/dashboard-theme

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get available themes list

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/dashboard-themes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/dashboard-themes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "success": true,
    "themes": [
        {
            "id": "default",
            "name": "Default Theme",
            "description": "Current default theme",
            "colors": [
                "#8b5cf6",
                "#7c3aed"
            ],
            "preview": "linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%)"
        },
        {
            "id": "ocean-glass",
            "name": "Ocean Glass",
            "description": "Deep blue to cyan gradient with glass effect",
            "colors": [
                "#0066cc",
                "#00d4ff",
                "#00ffcc"
            ],
            "preview": "linear-gradient(135deg, #0066cc 0%, #00d4ff 50%, #00ffcc 100%)"
        },
        {
            "id": "sunset-glass",
            "name": "Sunset Glass",
            "description": "Warm orange to pink gradient",
            "colors": [
                "#ff6b35",
                "#ff6b6b",
                "#ff8fab"
            ],
            "preview": "linear-gradient(135deg, #ff6b35 0%, #ff6b6b 50%, #ff8fab 100%)"
        },
        {
            "id": "aurora-glass",
            "name": "Aurora Glass",
            "description": "Purple to green gradient like Northern Lights",
            "colors": [
                "#7c3aed",
                "#a855f7",
                "#4ade80"
            ],
            "preview": "linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #4ade80 100%)"
        },
        {
            "id": "midnight-glass",
            "name": "Midnight Glass",
            "description": "Dark blue to purple gradient for night mode",
            "colors": [
                "#1e1b4b",
                "#4c1d95",
                "#6366f1"
            ],
            "preview": "linear-gradient(135deg, #1e1b4b 0%, #4c1d95 50%, #6366f1 100%)"
        },
        {
            "id": "cherry-glass",
            "name": "Cherry Blossom",
            "description": "Soft pink to white gradient",
            "colors": [
                "#fbcfe8",
                "#f9a8d4",
                "#ec4899"
            ],
            "preview": "linear-gradient(135deg, #fbcfe8 0%, #f9a8d4 50%, #ec4899 100%)"
        }
    ]
}
 

Request      

GET api/v1/dashboard-themes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/contact

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/contact" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"email\": \"kunde.eloisa@example.com\",
    \"phone\": \"hfqcoynlazghdtqtqxbaj\",
    \"subject\": \"wbpilpmufinllwloauydl\",
    \"message\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/contact"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "email": "kunde.eloisa@example.com",
    "phone": "hfqcoynlazghdtqtqxbaj",
    "subject": "wbpilpmufinllwloauydl",
    "message": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/contact

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

email   string     

Must be a valid email address. Must not be greater than 255 characters. Example: kunde.eloisa@example.com

phone   string  optional    

Must not be greater than 50 characters. Example: hfqcoynlazghdtqtqxbaj

subject   string     

Must not be greater than 255 characters. Example: wbpilpmufinllwloauydl

message   string     

Example: consequatur

GET api/v1/news

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/news" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/news"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "news": [
        {
            "id": 1,
            "campus_id": 1,
            "title": "Welcome to ScoolManager",
            "slug": "welcome-to-scoolmanager",
            "excerpt": "Experience the future of school management with our AI-powered platform.",
            "content": "<p>We are excited to welcome you to ScoolManager, the most comprehensive school management platform available. Our platform combines cutting-edge technology with years of educational expertise to provide an unmatched experience for administrators, teachers, students, and parents.</p><p>With features like AI-powered academic suggestions, real-time communication, automated fee management, and comprehensive reporting, ScoolManager transforms how schools operate.</p>",
            "featured_image": "https://images.pexels.com/photos/4778621/pexels-photo-4778621.jpeg",
            "status": "published",
            "author_id": 31,
            "published_at": "2026-05-28 21:34:56",
            "is_featured": 1,
            "created_at": "2026-05-28T20:34:56.000000Z",
            "updated_at": "2026-05-28T20:34:56.000000Z",
            "category_id": null,
            "tags": null,
            "author": {
                "id": 31,
                "name": "School Admin",
                "email": "schooladmin@scionsschool.com.ng",
                "is_active": true,
                "campus_id": 1,
                "email_verified_at": null,
                "created_at": "2026-05-28T20:34:56.000000Z",
                "updated_at": "2026-05-28T20:34:56.000000Z",
                "last_login_at": null,
                "last_login_ip": null
            }
        },
        {
            "id": 2,
            "campus_id": 1,
            "title": "New Academic Session Begins",
            "slug": "new-academic-session",
            "excerpt": "The new academic session is starting soon. Prepare for an exciting year ahead!",
            "content": "<p>We are pleased to announce that the new academic session will begin on the 15th of September. Parents and guardians are invited to prepare their children for another year of academic excellence and personal growth.</p><p>New students are welcome to complete their enrollment process before the session begins.</p>",
            "featured_image": "https://images.pexels.com/photos/3850255/pexels-photo-3850255.jpeg",
            "status": "published",
            "author_id": 31,
            "published_at": "2026-05-23 21:34:56",
            "is_featured": 0,
            "created_at": "2026-05-28T20:34:56.000000Z",
            "updated_at": "2026-05-28T20:34:56.000000Z",
            "category_id": null,
            "tags": null,
            "author": {
                "id": 31,
                "name": "School Admin",
                "email": "schooladmin@scionsschool.com.ng",
                "is_active": true,
                "campus_id": 1,
                "email_verified_at": null,
                "created_at": "2026-05-28T20:34:56.000000Z",
                "updated_at": "2026-05-28T20:34:56.000000Z",
                "last_login_at": null,
                "last_login_ip": null
            }
        },
        {
            "id": 3,
            "campus_id": 1,
            "title": "Technology Integration in Classrooms",
            "slug": "technology-integration",
            "excerpt": "Smart classrooms now equipped with modern learning technology.",
            "content": "<p>Our school has invested in state-of-the-art technology to enhance the learning experience. All classrooms are now equipped with interactive whiteboards, high-speed internet, and student tablets for a modern educational experience.</p>",
            "featured_image": "https://images.pexels.com/photos/256541/pexels-photo-256541.jpeg",
            "status": "published",
            "author_id": 31,
            "published_at": "2026-05-18 21:34:56",
            "is_featured": 1,
            "created_at": "2026-05-28T20:34:56.000000Z",
            "updated_at": "2026-05-28T20:34:56.000000Z",
            "category_id": null,
            "tags": null,
            "author": {
                "id": 31,
                "name": "School Admin",
                "email": "schooladmin@scionsschool.com.ng",
                "is_active": true,
                "campus_id": 1,
                "email_verified_at": null,
                "created_at": "2026-05-28T20:34:56.000000Z",
                "updated_at": "2026-05-28T20:34:56.000000Z",
                "last_login_at": null,
                "last_login_ip": null
            }
        }
    ]
}
 

Request      

GET api/v1/news

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/news/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/news/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/news/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/v1/news/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the news. Example: consequatur

GET api/v1/events

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/events" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/events"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "events": {
        "current_page": 1,
        "data": [
            {
                "id": 1,
                "campus_id": 1,
                "title": "Parent-Teacher Meeting",
                "description": "Annual parent-teacher meeting to discuss student progress. Join us to review your child's academic performance, discuss challenges, and celebrate achievements.",
                "start_date": "2026-06-11T20:34:57.000000Z",
                "end_date": "2026-06-11T13:34:57.000000Z",
                "location": "School Main Hall",
                "venue": "Main Hall",
                "featured_image": null,
                "event_type": "academic",
                "status": "published",
                "allow_rsvp": 0,
                "max_rsvp": null,
                "rsvp_deadline": null,
                "created_by": 31,
                "is_recurring": 0,
                "recurrence_rule": null,
                "created_at": "2026-05-28T20:34:57.000000Z",
                "updated_at": "2026-05-28T20:34:57.000000Z",
                "campus": {
                    "id": 1,
                    "name": "Main Campus",
                    "code": "MAIN",
                    "address": "123 Education Street",
                    "phone": "+2348012345678",
                    "email": "info@school.com",
                    "timezone": "Africa/Lagos",
                    "currency": "NGN",
                    "currency_symbol": "₦",
                    "is_active": true,
                    "created_at": "2026-05-28T20:34:42.000000Z",
                    "updated_at": "2026-05-28T20:34:42.000000Z"
                }
            },
            {
                "id": 2,
                "campus_id": 1,
                "title": "Career Day 2026",
                "description": "Join us for an inspiring career day with guest speakers from various industries. Students will have the opportunity to learn about different career paths and interact with professionals.",
                "start_date": "2026-06-27T20:34:57.000000Z",
                "end_date": "2026-06-27T15:34:57.000000Z",
                "location": "School Auditorium",
                "venue": "Auditorium",
                "featured_image": null,
                "event_type": "cultural",
                "status": "published",
                "allow_rsvp": 0,
                "max_rsvp": null,
                "rsvp_deadline": null,
                "created_by": 31,
                "is_recurring": 0,
                "recurrence_rule": null,
                "created_at": "2026-05-28T20:34:57.000000Z",
                "updated_at": "2026-05-28T20:34:57.000000Z",
                "campus": {
                    "id": 1,
                    "name": "Main Campus",
                    "code": "MAIN",
                    "address": "123 Education Street",
                    "phone": "+2348012345678",
                    "email": "info@school.com",
                    "timezone": "Africa/Lagos",
                    "currency": "NGN",
                    "currency_symbol": "₦",
                    "is_active": true,
                    "created_at": "2026-05-28T20:34:42.000000Z",
                    "updated_at": "2026-05-28T20:34:42.000000Z"
                }
            },
            {
                "id": 3,
                "campus_id": 1,
                "title": "Sports Day",
                "description": "Annual sports day with various athletic competitions. Parents are welcome to attend and support their children.",
                "start_date": "2026-07-12T20:34:57.000000Z",
                "end_date": "2026-07-12T16:34:57.000000Z",
                "location": "School Sports Ground",
                "venue": "Sports Ground",
                "featured_image": null,
                "event_type": "sports",
                "status": "published",
                "allow_rsvp": 0,
                "max_rsvp": null,
                "rsvp_deadline": null,
                "created_by": 31,
                "is_recurring": 0,
                "recurrence_rule": null,
                "created_at": "2026-05-28T20:34:57.000000Z",
                "updated_at": "2026-05-28T20:34:57.000000Z",
                "campus": {
                    "id": 1,
                    "name": "Main Campus",
                    "code": "MAIN",
                    "address": "123 Education Street",
                    "phone": "+2348012345678",
                    "email": "info@school.com",
                    "timezone": "Africa/Lagos",
                    "currency": "NGN",
                    "currency_symbol": "₦",
                    "is_active": true,
                    "created_at": "2026-05-28T20:34:42.000000Z",
                    "updated_at": "2026-05-28T20:34:42.000000Z"
                }
            }
        ],
        "first_page_url": "http://localhost:8001/api/v1/events?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "http://localhost:8001/api/v1/events?page=1",
        "links": [
            {
                "url": null,
                "label": "&laquo; Previous",
                "page": null,
                "active": false
            },
            {
                "url": "http://localhost:8001/api/v1/events?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next &raquo;",
                "page": null,
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "http://localhost:8001/api/v1/events",
        "per_page": 20,
        "prev_page_url": null,
        "to": 3,
        "total": 3
    }
}
 

Request      

GET api/v1/events

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/events/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/events/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/events/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/v1/events/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: consequatur

POST api/v1/events/{id}/rsvp

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/events/consequatur/rsvp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/events/consequatur/rsvp"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/events/{id}/rsvp

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: consequatur

GET api/v1/events/{id}/rsvp/check

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/events/consequatur/rsvp/check" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/events/consequatur/rsvp/check"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/v1/events/{id}/rsvp/check

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: consequatur

GET api/v1/announcements/public

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/announcements/public" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/announcements/public"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "announcements": {
        "current_page": 1,
        "data": [
            {
                "id": 1,
                "campus_id": 1,
                "title": "School Reopening Notice",
                "message": "The school will reopen on the 15th of September. Please ensure all fees are paid and required documents are submitted before the start of the session.",
                "priority": "high",
                "targetAudience": "all",
                "is_published": 1,
                "publish_at": "2026-05-28T20:34:57.000000Z",
                "expires_at": null,
                "created_by": 31,
                "created_at": "2026-05-28T20:34:57.000000Z",
                "updated_at": "2026-05-28T20:34:57.000000Z"
            },
            {
                "id": 2,
                "campus_id": 1,
                "title": "Fee Payment Reminder",
                "message": "Term 1 fees are due by the end of this month. Please make payments through the portal or at the accounting office.",
                "priority": "normal",
                "targetAudience": "parents",
                "is_published": 1,
                "publish_at": "2026-05-26T20:34:57.000000Z",
                "expires_at": null,
                "created_by": 31,
                "created_at": "2026-05-28T20:34:57.000000Z",
                "updated_at": "2026-05-28T20:34:57.000000Z"
            }
        ],
        "first_page_url": "http://localhost:8001/api/v1/announcements/public?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "http://localhost:8001/api/v1/announcements/public?page=1",
        "links": [
            {
                "url": null,
                "label": "&laquo; Previous",
                "page": null,
                "active": false
            },
            {
                "url": "http://localhost:8001/api/v1/announcements/public?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next &raquo;",
                "page": null,
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "http://localhost:8001/api/v1/announcements/public",
        "per_page": 20,
        "prev_page_url": null,
        "to": 2,
        "total": 2
    }
}
 

Request      

GET api/v1/announcements/public

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/media/slider

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/media/slider" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/media/slider"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "slider_images": []
}
 

Request      

GET api/v1/media/slider

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/public-stats

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/public-stats" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/public-stats"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "years": 1,
    "students": 20,
    "teachers": 5,
    "classes": 12,
    "satisfaction": 98
}
 

Request      

GET api/v1/public-stats

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/cms-pages/{slug}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms-pages/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms-pages/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "message": "Page not found"
}
 

Request      

GET api/v1/cms-pages/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the cms page. Example: consequatur

Get invite details by token (public endpoint)

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/invites/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/invites/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/v1/invites/{token}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

token   string     

Example: consequatur

Accept an invite (public endpoint)

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/invites/17/accept" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"O[2UZ5ij-e\\/dl4m{o,\",
    \"first_name\": \"dqamniihfqcoynlazghdt\",
    \"last_name\": \"qtqxbajwbpilpmufinllw\",
    \"phone\": \"loauydlsmsjuryvoj\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/invites/17/accept"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "password": "O[2UZ5ij-e\/dl4m{o,",
    "first_name": "dqamniihfqcoynlazghdt",
    "last_name": "qtqxbajwbpilpmufinllw",
    "phone": "loauydlsmsjuryvoj"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/invites/{token}/accept

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

token   integer     

Example: 17

Body Parameters

password   string     

Must be at least 8 characters. Example: O[2UZ5ij-e/dl4m{o,

first_name   string     

Must not be greater than 255 characters. Example: dqamniihfqcoynlazghdt

last_name   string     

Must not be greater than 255 characters. Example: qtqxbajwbpilpmufinllw

phone   string  optional    

Must not be greater than 20 characters. Example: loauydlsmsjuryvoj

GET api/v1/quickpay/lookup

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/quickpay/lookup" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/quickpay/lookup"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: max-age=60, private, stale-while-revalidate=300
content-type: application/json
vary: Accept-Encoding
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "student": {
        "id": 1,
        "name": "Adewale Oluwaseun",
        "student_id": "STU20260001",
        "class": "N/A",
        "total_fees": "68000.00",
        "paid": 0,
        "outstanding": 68000
    },
    "invoices": [
        {
            "id": 1,
            "title": "Fee Invoice",
            "term": {
                "id": 1,
                "academic_session_id": 1,
                "name": "First Term",
                "term_number": 1,
                "start_date": "2025-08-31T23:00:00.000000Z",
                "end_date": "2025-12-17T23:00:00.000000Z",
                "is_current": true,
                "is_active": true,
                "created_at": "2026-05-28T20:34:42.000000Z",
                "updated_at": "2026-05-28T20:34:42.000000Z"
            },
            "amount": 68000,
            "due_date": "2026-06-26T23:00:00.000000Z"
        }
    ]
}
 

Request      

GET api/v1/quickpay/lookup

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/quickpay/initialize

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/quickpay/initialize" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"invoice_id\": \"consequatur\",
    \"amount\": 95,
    \"phone\": \"consequatur\",
    \"email\": \"carolyne.luettgen@example.org\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/quickpay/initialize"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "invoice_id": "consequatur",
    "amount": 95,
    "phone": "consequatur",
    "email": "carolyne.luettgen@example.org"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/quickpay/initialize

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

invoice_id   string     

The id of an existing record in the invoices table. Example: consequatur

amount   number     

Must be at least 100. Example: 95

phone   string     

Example: consequatur

email   string     

Must be a valid email address. Example: carolyne.luettgen@example.org

POST api/v1/quickpay/webhook

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/quickpay/webhook" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/quickpay/webhook"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/quickpay/webhook

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/auth/login

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"qkunze@example.com\",
    \"password\": \"O[2UZ5ij-e\\/dl4m{o,\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/auth/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "qkunze@example.com",
    "password": "O[2UZ5ij-e\/dl4m{o,"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/auth/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: qkunze@example.com

password   string     

Example: O[2UZ5ij-e/dl4m{o,

POST api/v1/auth/forgot-password

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/auth/forgot-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"qkunze@example.com\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/auth/forgot-password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "qkunze@example.com"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/auth/forgot-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: qkunze@example.com

POST api/v1/auth/logout

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/auth/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/auth/logout"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/auth/logout

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/auth/me

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/auth/me" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/auth/me"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/auth/me

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/auth/menu

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/auth/menu" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/auth/menu"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/auth/menu

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/auth/refresh

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/auth/refresh" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/auth/refresh"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/auth/refresh

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/user/permissions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/user/permissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/user/permissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/user/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/user/menu

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/user/menu" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/user/menu"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/user/menu

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/classes/parents

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/parents" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/parents"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/parents

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/classes/parents

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/classes/parents" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/parents"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/classes/parents

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/classes/parents/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/parents/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/parents/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/parents/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the parent. Example: consequatur

PUT api/v1/classes/parents/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/classes/parents/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/parents/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/classes/parents/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the parent. Example: consequatur

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/classes/parents/consequatur/link-student" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/parents/consequatur/link-student"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

GET /api/v1/classes - List all classes

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET /api/v1/classes/{id} - Get class

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the class. Example: consequatur

GET /api/v1/classes/{id}/students - Students in class

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/consequatur/students" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/consequatur/students"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/{id}/students

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the class. Example: consequatur

GET /api/v1/classes/{id}/subjects - Subjects for class

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/consequatur/subjects" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/consequatur/subjects"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/{id}/subjects

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the class. Example: consequatur

GET /api/v1/classes/{id}/subjects/grades - Get grades for class subjects

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/consequatur/grades" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/consequatur/grades"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/{id}/grades

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the class. Example: consequatur

POST /api/v1/classes - Create class

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/classes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/classes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT /api/v1/classes/{id} - Update class

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/classes/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"code\": \"amniihfqcoynlazgh\",
    \"level\": 12,
    \"max_students\": 69,
    \"is_active\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/classes/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "code": "amniihfqcoynlazgh",
    "level": 12,
    "max_students": 69,
    "is_active": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/classes/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the class. Example: consequatur

Body Parameters

name   string  optional    

Must not be greater than 100 characters. Example: vmqeopfuudtdsufvyvddq

code   string  optional    

Must not be greater than 20 characters. Example: amniihfqcoynlazgh

level   integer  optional    

Must be at least 1. Example: 12

class_teacher_id   string  optional    

The id of an existing record in the users table.

max_students   integer  optional    

Must be at least 1. Example: 69

is_active   boolean  optional    

Example: false

DELETE /api/v1/classes/{id} - Delete class

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/classes/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/classes/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the class. Example: consequatur

PUT /api/v1/classes/{id}/assign-teacher - Assign teacher

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/classes/consequatur/assign-teacher" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "http://localhost:8001/api/v1/classes/consequatur/assign-teacher"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/classes/{id}/assign-teacher

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the class. Example: consequatur

Body Parameters

class_teacher_id   string  optional    

The id of an existing record in the users table.

GET api/v1/classes/students

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/students" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/students

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/classes/students/generate-id

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/students/generate-id" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/generate-id"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/students/generate-id

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/classes/students/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/students/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/students/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the student. Example: consequatur

GET api/v1/classes/students/{id}/enrollments

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/students/consequatur/enrollments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/consequatur/enrollments"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/students/{id}/enrollments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the student. Example: consequatur

GET api/v1/classes/students/{id}/promotable-classes

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/classes/students/consequatur/promotable-classes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/consequatur/promotable-classes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/classes/students/{id}/promotable-classes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the student. Example: consequatur

POST api/v1/classes/students

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/classes/students" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/classes/students

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/classes/students/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/classes/students/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/classes/students/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the student. Example: consequatur

DELETE api/v1/classes/students/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/classes/students/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/classes/students/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the student. Example: consequatur

POST api/v1/classes/students/{id}/enroll

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/classes/students/consequatur/enroll" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/consequatur/enroll"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/classes/students/{id}/enroll

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the student. Example: consequatur

POST api/v1/classes/students/{id}/promote

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/classes/students/consequatur/promote" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/consequatur/promote"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/classes/students/{id}/promote

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the student. Example: consequatur

POST api/v1/classes/students/{id}/graduate

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/classes/students/consequatur/graduate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/classes/students/consequatur/graduate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/classes/students/{id}/graduate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the student. Example: consequatur

GET api/v1/campuses

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/campuses" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/campuses"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/campuses

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/campuses

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/campuses" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/campuses"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/campuses

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/campuses/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/campuses/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/campuses/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/campuses/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the campus. Example: consequatur

PUT api/v1/campuses/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/campuses/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/campuses/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/campuses/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the campus. Example: consequatur

DELETE api/v1/campuses/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/campuses/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/campuses/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/campuses/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the campus. Example: consequatur

GET api/v1/campuses/{id}/sessions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/campuses/consequatur/sessions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/campuses/consequatur/sessions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/campuses/{id}/sessions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the campus. Example: consequatur

GET api/v1/sessions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/sessions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/sessions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/sessions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/sessions

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/sessions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"start_year\": 114,
    \"end_year\": 17,
    \"start_date\": \"2026-05-30T11:59:07\",
    \"end_date\": \"2107-06-29\",
    \"is_current\": true
}"
const url = new URL(
    "http://localhost:8001/api/v1/sessions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "start_year": 114,
    "end_year": 17,
    "start_date": "2026-05-30T11:59:07",
    "end_date": "2107-06-29",
    "is_current": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/sessions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

start_year   integer     

Must be at least 2000. Example: 114

end_year   integer     

Example: 17

start_date   string     

Must be a valid date. Example: 2026-05-30T11:59:07

end_date   string     

Must be a valid date. Must be a date after start_date. Example: 2107-06-29

is_current   boolean  optional    

Example: true

PUT api/v1/sessions/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/sessions/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/sessions/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/sessions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the session. Example: consequatur

GET api/v1/sessions/{sessionId}/terms

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/sessions/consequatur/terms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/sessions/consequatur/terms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/sessions/{sessionId}/terms

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

sessionId   string     

Example: consequatur

POST api/v1/sessions/{sessionId}/terms

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/sessions/consequatur/terms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/sessions/consequatur/terms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/sessions/{sessionId}/terms

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

sessionId   string     

Example: consequatur

PUT api/v1/terms/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/terms/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/terms/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/terms/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the term. Example: consequatur

GET api/v1/inquiries

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/inquiries" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/inquiries"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/inquiries

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/inquiries

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/inquiries" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/inquiries"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/inquiries

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/inquiries/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/inquiries/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/inquiries/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/inquiries/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the inquiry. Example: consequatur

PUT api/v1/inquiries/{id}/assign

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/inquiries/consequatur/assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/inquiries/consequatur/assign"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/inquiries/{id}/assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the inquiry. Example: consequatur

POST api/v1/inquiries/{id}/convert

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/inquiries/consequatur/convert" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/inquiries/consequatur/convert"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/inquiries/{id}/convert

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the inquiry. Example: consequatur

GET api/v1/applications

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/applications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/applications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/applications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/applications/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/applications/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/applications/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/applications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the application. Example: consequatur

POST api/v1/applications/{id}/submit

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/applications/consequatur/submit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/applications/consequatur/submit"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/applications/{id}/submit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the application. Example: consequatur

PUT api/v1/applications/{id}/assign

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/applications/consequatur/assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/applications/consequatur/assign"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/applications/{id}/assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the application. Example: consequatur

POST api/v1/applications/{id}/review

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/applications/consequatur/review" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/applications/consequatur/review"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/applications/{id}/review

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the application. Example: consequatur

POST api/v1/applications/{id}/decision

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/applications/consequatur/decision" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/applications/consequatur/decision"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/applications/{id}/decision

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the application. Example: consequatur

POST api/v1/applications/{id}/enroll

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/applications/consequatur/enroll" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/applications/consequatur/enroll"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/applications/{id}/enroll

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the application. Example: consequatur

GET api/v1/applications/export

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/applications/export" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/applications/export"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/applications/export

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/categories

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/finance/categories

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/fee-structures

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/fee-structures" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/fee-structures

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/finance/fee-structures

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/fee-structures" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/fee-structures

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/finance/fee-structures/{id}/items

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur/items" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur/items"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/fee-structures/{id}/items

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fee structure. Example: consequatur

GET api/v1/finance/fee-structures/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/fee-structures/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/fee-structures/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fee structure. Example: consequatur

PUT api/v1/finance/fee-structures/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/finance/fee-structures/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fee structure. Example: consequatur

DELETE api/v1/finance/fee-structures/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/finance/fee-structures/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fee structure. Example: consequatur

DELETE api/v1/finance/fee-structures/{id}/items/{itemId}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur/items/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur/items/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/finance/fee-structures/{id}/items/{itemId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fee structure. Example: consequatur

itemId   string     

Example: consequatur

POST api/v1/finance/fee-structures/{id}/toggle

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur/toggle" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur/toggle"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/fee-structures/{id}/toggle

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fee structure. Example: consequatur

POST api/v1/finance/fee-structures/{id}/classes

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur/classes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/fee-structures/consequatur/classes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/fee-structures/{id}/classes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fee structure. Example: consequatur

GET api/v1/finance/invoices/generate-number

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/invoices/generate-number" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/invoices/generate-number"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/invoices/generate-number

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/invoices/export

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/invoices/export" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/invoices/export"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/invoices/export

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/invoices

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/invoices" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/invoices"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/invoices

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/finance/invoices

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/invoices" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"student_id\": \"consequatur\",
    \"academic_session_id\": \"consequatur\",
    \"lines\": [
        {
            \"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
            \"quantity\": 13,
            \"unit_price\": 66
        }
    ]
}"
const url = new URL(
    "http://localhost:8001/api/v1/finance/invoices"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "student_id": "consequatur",
    "academic_session_id": "consequatur",
    "lines": [
        {
            "description": "Dolores dolorum amet iste laborum eius est dolor.",
            "quantity": 13,
            "unit_price": 66
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/finance/invoices

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

student_id   string     

The id of an existing record in the students table. Example: consequatur

academic_session_id   string     

The id of an existing record in the academic_sessions table. Example: consequatur

term_id   string  optional    

The id of an existing record in the terms table.

lines   object[]     

Must have at least 1 items.

description   string     

Example: Dolores dolorum amet iste laborum eius est dolor.

quantity   number     

Must be at least 1. Example: 13

unit_price   number     

Must be at least 0. Example: 66

POST api/v1/finance/invoices/from-fee-structure

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/invoices/from-fee-structure" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/invoices/from-fee-structure"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/invoices/from-fee-structure

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/invoices/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/invoices/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/invoices/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/invoices/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the invoice. Example: consequatur

POST api/v1/finance/invoices/{id}/cancel

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/invoices/consequatur/cancel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/invoices/consequatur/cancel"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/invoices/{id}/cancel

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the invoice. Example: consequatur

GET api/v1/finance/payments

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/payments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/payments"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/payments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/finance/payments

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/payments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"student_id\": \"consequatur\",
    \"amount\": 45,
    \"payment_method\": \"consequatur\",
    \"reference\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/finance/payments"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "student_id": "consequatur",
    "amount": 45,
    "payment_method": "consequatur",
    "reference": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/finance/payments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

student_id   string     

The id of an existing record in the students table. Example: consequatur

amount   number     

Must be at least 0. Example: 45

payment_method   string     

Example: consequatur

reference   string  optional    

Example: consequatur

invoice_id   string  optional    

The id of an existing record in the invoices table.

GET api/v1/finance/payments/export

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/payments/export" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/payments/export"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/payments/export

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/payments/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/payments/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/payments/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/payments/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the payment. Example: consequatur

POST api/v1/finance/payments/{id}/verify

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/payments/consequatur/verify" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/payments/consequatur/verify"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/payments/{id}/verify

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the payment. Example: consequatur

POST api/v1/finance/payments/initialize-paystack

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/payments/initialize-paystack" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/payments/initialize-paystack"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/payments/initialize-paystack

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/student/{studentId}/balance

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/student/consequatur/balance" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/student/consequatur/balance"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/student/{studentId}/balance

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

studentId   string     

Example: consequatur

GET api/v1/finance/overdue

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/overdue" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/overdue"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/overdue

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/receipts

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/receipts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/receipts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/receipts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/receipts/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/receipts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/receipts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/receipts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the receipt. Example: consequatur

GET api/v1/finance/receipts/{id}/pdf

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/receipts/consequatur/pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/receipts/consequatur/pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/receipts/{id}/pdf

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the receipt. Example: consequatur

GET api/v1/finance/payments/{id}/receipt/pdf

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/payments/consequatur/receipt/pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/payments/consequatur/receipt/pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/payments/{id}/receipt/pdf

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the payment. Example: consequatur

POST api/v1/finance/receipts/{id}/email

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/finance/receipts/consequatur/email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/receipts/consequatur/email"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/finance/receipts/{id}/email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the receipt. Example: consequatur

GET api/v1/fee-templates

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/fee-templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/fee-templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/fee-templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/finance/reports

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/finance/reports" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/finance/reports"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/finance/reports

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/accounting/ledger

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/accounting/ledger" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/ledger"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/accounting/ledger

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/accounting/ledger-accounts

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/accounting/ledger-accounts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/ledger-accounts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/accounting/ledger-accounts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/accounting/ledger-accounts

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/accounting/ledger-accounts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/ledger-accounts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/accounting/ledger-accounts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/accounting/ledger-accounts/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/accounting/ledger-accounts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/ledger-accounts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/accounting/ledger-accounts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the ledger account. Example: consequatur

DELETE api/v1/accounting/ledger-accounts/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/accounting/ledger-accounts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/ledger-accounts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/accounting/ledger-accounts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the ledger account. Example: consequatur

GET api/v1/accounting/journal

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/accounting/journal" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/journal"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/accounting/journal

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/accounting/journal/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/accounting/journal/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/journal/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/accounting/journal/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the journal. Example: consequatur

POST api/v1/accounting/journal

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/accounting/journal" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/journal"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/accounting/journal

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/accounting/journal/{id}/post

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/accounting/journal/consequatur/post" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/journal/consequatur/post"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/accounting/journal/{id}/post

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the journal. Example: consequatur

POST api/v1/accounting/journal/{id}/void

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/accounting/journal/consequatur/void" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/journal/consequatur/void"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/accounting/journal/{id}/void

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the journal. Example: consequatur

GET api/v1/accounting/trial-balance

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/accounting/trial-balance" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/trial-balance"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/accounting/trial-balance

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/accounting/balance-sheet

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/accounting/balance-sheet" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/balance-sheet"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/accounting/balance-sheet

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/accounting/income-statement

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/accounting/income-statement" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/income-statement"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/accounting/income-statement

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/accounting/overdue-buckets

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/accounting/overdue-buckets" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/overdue-buckets"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/accounting/overdue-buckets

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/accounting/reconcile

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/accounting/reconcile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"account_id\": \"consequatur\",
    \"statement_balance\": 11613.31890586,
    \"statement_date\": \"2026-05-30T11:59:08\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/accounting/reconcile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "account_id": "consequatur",
    "statement_balance": 11613.31890586,
    "statement_date": "2026-05-30T11:59:08"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/accounting/reconcile

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

account_id   string     

The id of an existing record in the ledger_accounts table. Example: consequatur

statement_balance   number     

Example: 11613.31890586

statement_date   string     

Must be a valid date. Example: 2026-05-30T11:59:08

transactions   object  optional    

GET /api/v1/academics/terms - List all terms

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/terms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/terms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/terms

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET /api/v1/academics/subjects - List subjects

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/subjects" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/subjects"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/subjects

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET /api/v1/academics/subjects/{id} - Get subject

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/subjects/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/subjects/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/subjects/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the subject. Example: consequatur

GET /api/v1/academics/grade-scales - List grade scales

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/grade-scales" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grade-scales"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/grade-scales

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET /api/v1/academics/grade-scales/{id} - Get grade scale

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/grade-scales/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grade-scales/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/grade-scales/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the grade scale. Example: consequatur

GET /api/v1/academics/grades - Get grades with filters

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/grades" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grades"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/grades

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET /api/v1/academics/grades/summary - Student grade summary

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/grades/summary" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grades/summary"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/grades/summary

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET /api/v1/academics/grades/class/{classId} - Get all grades for a class

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/grades/class/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grades/class/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/grades/class/{classId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

classId   string     

Example: consequatur

GET api/v1/academics/students/{studentId}/grades

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/students/consequatur/grades" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/students/consequatur/grades"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/students/{studentId}/grades

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

studentId   string     

Example: consequatur

GET /api/v1/academics/report-cards - List report cards

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/report-cards" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/report-cards

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academics/report-cards/pending

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/report-cards/pending" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/pending"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/report-cards/pending

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academics/report-cards/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/report-cards/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/report-cards/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the report card. Example: consequatur

GET api/v1/academics/report-cards/{id}/pdf

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/report-cards/consequatur/pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/consequatur/pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/report-cards/{id}/pdf

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the report card. Example: consequatur

GET /api/v1/academics/report-cards/student/{studentId} - Report cards for a student Only returns published report cards visible to parents

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/report-cards/student/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/student/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/report-cards/student/{studentId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

studentId   string     

Example: consequatur

GET api/v1/academics/settings

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/settings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/settings"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/settings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academics/exams

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/exams" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/exams

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academics/exams/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/exams/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/exams/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exam. Example: consequatur

GET api/v1/academics/exams/{id}/schedules

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/exams/consequatur/schedules" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/consequatur/schedules"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/exams/{id}/schedules

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exam. Example: consequatur

GET api/v1/academics/exams/schedules/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/exams/schedules/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/schedules/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/exams/schedules/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the schedule. Example: consequatur

GET api/v1/academics/classes/{classId}/exam-schedules

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/classes/consequatur/exam-schedules" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/classes/consequatur/exam-schedules"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/classes/{classId}/exam-schedules

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

classId   string     

Example: consequatur

GET api/v1/academics/exams/schedules/{scheduleId}/results

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/exams/schedules/consequatur/results" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/schedules/consequatur/results"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/exams/schedules/{scheduleId}/results

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

scheduleId   string     

Example: consequatur

GET api/v1/academics/students/{studentId}/exam-results

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academics/students/consequatur/exam-results" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/students/consequatur/exam-results"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academics/students/{studentId}/exam-results

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

studentId   string     

Example: consequatur

POST /api/v1/academics/subjects - Create subject

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/subjects" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/subjects"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/subjects

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT /api/v1/academics/subjects/{id} - Update subject

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academics/subjects/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"consequatur\",
    \"code\": \"consequatur\",
    \"credit_hours\": 17,
    \"max_score\": 17,
    \"pass_score\": 17,
    \"weight\": 17,
    \"is_active\": true
}"
const url = new URL(
    "http://localhost:8001/api/v1/academics/subjects/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "consequatur",
    "code": "consequatur",
    "credit_hours": 17,
    "max_score": 17,
    "pass_score": 17,
    "weight": 17,
    "is_active": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/academics/subjects/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the subject. Example: consequatur

Body Parameters

name   string  optional    

Example: consequatur

code   string  optional    

Example: consequatur

class_id   string  optional    

The id of an existing record in the school_classes table.

credit_hours   integer  optional    

Example: 17

max_score   integer  optional    

Example: 17

pass_score   integer  optional    

Example: 17

weight   integer  optional    

Example: 17

is_active   boolean  optional    

Example: true

DELETE /api/v1/academics/subjects/{id} - Delete subject

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/academics/subjects/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/subjects/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/academics/subjects/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the subject. Example: consequatur

POST /api/v1/academics/grade-scales - Create grade scale

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/grade-scales" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grade-scales"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/grade-scales

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT /api/v1/academics/grade-scales/{id} - Update grade scale

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academics/grade-scales/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"grade\": \"consequatur\",
    \"min_score\": 17,
    \"max_score\": 17,
    \"grade_point\": 11613.31890586,
    \"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grade-scales/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "grade": "consequatur",
    "min_score": 17,
    "max_score": 17,
    "grade_point": 11613.31890586,
    "description": "Dolores dolorum amet iste laborum eius est dolor.",
    "is_active": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/academics/grade-scales/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the grade scale. Example: consequatur

Body Parameters

grade   string  optional    

Example: consequatur

min_score   integer  optional    

Example: 17

max_score   integer  optional    

Example: 17

grade_point   number  optional    

Example: 11613.31890586

description   string  optional    

Example: Dolores dolorum amet iste laborum eius est dolor.

is_active   boolean  optional    

Example: false

DELETE /api/v1/academics/grade-scales/{id} - Delete grade scale

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/academics/grade-scales/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grade-scales/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/academics/grade-scales/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the grade scale. Example: consequatur

POST /api/v1/academics/grades - Enter grades (bulk)

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/grades" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"class_id\": \"consequatur\",
    \"subject_id\": \"consequatur\",
    \"session_id\": \"consequatur\",
    \"term_id\": \"consequatur\",
    \"grades\": [
        {
            \"student_id\": \"consequatur\",
            \"score\": 11613.31890586,
            \"ca_score\": 11613.31890586,
            \"exam_score\": 11613.31890586,
            \"remarks\": \"consequatur\"
        }
    ]
}"
const url = new URL(
    "http://localhost:8001/api/v1/academics/grades"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "class_id": "consequatur",
    "subject_id": "consequatur",
    "session_id": "consequatur",
    "term_id": "consequatur",
    "grades": [
        {
            "student_id": "consequatur",
            "score": 11613.31890586,
            "ca_score": 11613.31890586,
            "exam_score": 11613.31890586,
            "remarks": "consequatur"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/academics/grades

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

class_id   string     

The id of an existing record in the school_classes table. Example: consequatur

subject_id   string     

The id of an existing record in the subjects table. Example: consequatur

session_id   string     

The id of an existing record in the academic_sessions table. Example: consequatur

term_id   string     

The id of an existing record in the terms table. Example: consequatur

grades   object[]     
student_id   string     

The id of an existing record in the students table. Example: consequatur

score   number     

Example: 11613.31890586

ca_score   number  optional    

Example: 11613.31890586

exam_score   number  optional    

Example: 11613.31890586

remarks   string  optional    

Example: consequatur

POST api/v1/academics/report-cards/generate

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/report-cards/generate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/generate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/report-cards/generate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/academics/report-cards/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academics/report-cards/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/academics/report-cards/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the report card. Example: consequatur

POST api/v1/academics/report-cards/{id}/approve

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/report-cards/consequatur/approve" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/consequatur/approve"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/report-cards/{id}/approve

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the report card. Example: consequatur

POST api/v1/academics/report-cards/{id}/reject

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/report-cards/consequatur/reject" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/consequatur/reject"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/report-cards/{id}/reject

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the report card. Example: consequatur

POST api/v1/academics/report-cards/{id}/publish

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/report-cards/consequatur/publish" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/report-cards/consequatur/publish"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/report-cards/{id}/publish

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the report card. Example: consequatur

POST api/v1/academics/settings

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/settings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/settings"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/settings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/academics/exams

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/exams" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/exams

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/academics/exams/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academics/exams/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/academics/exams/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exam. Example: consequatur

DELETE api/v1/academics/exams/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/academics/exams/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/academics/exams/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exam. Example: consequatur

POST api/v1/academics/exams/{id}/publish

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/exams/consequatur/publish" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/consequatur/publish"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/exams/{id}/publish

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exam. Example: consequatur

POST api/v1/academics/exams/{id}/close

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/exams/consequatur/close" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/consequatur/close"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/exams/{id}/close

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exam. Example: consequatur

POST api/v1/academics/exams/schedules

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/exams/schedules" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/schedules"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/exams/schedules

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/academics/exams/schedules/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academics/exams/schedules/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/schedules/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/academics/exams/schedules/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the schedule. Example: consequatur

DELETE api/v1/academics/exams/schedules/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/academics/exams/schedules/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/schedules/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/academics/exams/schedules/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the schedule. Example: consequatur

POST api/v1/academics/exams/schedules/{id}/results

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academics/exams/schedules/consequatur/results" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academics/exams/schedules/consequatur/results"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academics/exams/schedules/{id}/results

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the schedule. Example: consequatur

GET api/v1/cms/pages

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/pages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/pages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/cms/pages/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/pages/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/pages/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the page. Example: consequatur

POST api/v1/cms/pages

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/pages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/pages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/cms/pages/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/cms/pages/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/cms/pages/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the page. Example: consequatur

DELETE api/v1/cms/pages/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/cms/pages/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/cms/pages/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the page. Example: consequatur

POST api/v1/cms/pages/{id}/publish

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/pages/consequatur/publish" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages/consequatur/publish"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/pages/{id}/publish

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the page. Example: consequatur

GET api/v1/cms/pages/slug/{slug}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/pages/slug/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages/slug/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/pages/slug/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the slug. Example: consequatur

GET api/v1/cms/news

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/news" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/news"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/news

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/cms/news/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/news/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/news/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/news/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the news. Example: consequatur

POST api/v1/cms/news

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/news" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/news"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/news

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/cms/news/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/cms/news/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/news/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/cms/news/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the news. Example: consequatur

DELETE api/v1/cms/news/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/cms/news/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/news/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/cms/news/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the news. Example: consequatur

POST api/v1/cms/news/{id}/publish

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/news/consequatur/publish" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/news/consequatur/publish"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/news/{id}/publish

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the news. Example: consequatur

POST api/v1/cms/news/{id}/share

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/news/consequatur/share" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/news/consequatur/share"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/news/{id}/share

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the news. Example: consequatur

GET api/v1/cms/news/slug/{slug}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/news/slug/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/news/slug/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/news/slug/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the slug. Example: consequatur

GET api/v1/cms/events

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/events" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/events"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/events

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/cms/events/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/events/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/events/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/events/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: consequatur

POST api/v1/cms/events

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/events" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/events"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/events

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/cms/events/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/cms/events/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/events/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/cms/events/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: consequatur

DELETE api/v1/cms/events/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/cms/events/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/events/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/cms/events/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: consequatur

POST api/v1/cms/events/{id}/publish

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/events/consequatur/publish" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/events/consequatur/publish"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/events/{id}/publish

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: consequatur

POST api/v1/cms/events/{id}/share

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/events/consequatur/share" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/events/consequatur/share"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/events/{id}/share

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: consequatur

GET api/v1/cms/announcements

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/announcements" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/announcements"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/announcements

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/cms/announcements

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/announcements" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/announcements"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/announcements

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/cms/announcements/{id}/publish

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/announcements/consequatur/publish" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/announcements/consequatur/publish"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/announcements/{id}/publish

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the announcement. Example: consequatur

GET api/v1/cms/contact

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/contact" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/contact"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/contact

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/cms/contact/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/contact/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/contact/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/contact/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the contact. Example: consequatur

PUT api/v1/cms/contact/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/cms/contact/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"unread\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/cms/contact/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "unread"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/cms/contact/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the contact. Example: consequatur

Body Parameters

status   string  optional    

Example: unread

Must be one of:
  • unread
  • read
  • replied
  • closed

POST api/v1/cms/contact/{id}/reply

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/contact/consequatur/reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reply_message\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/cms/contact/consequatur/reply"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "reply_message": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/cms/contact/{id}/reply

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the contact. Example: consequatur

Body Parameters

reply_message   string     

Example: consequatur

DELETE api/v1/cms/contact/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/cms/contact/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/contact/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/cms/contact/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the contact. Example: consequatur

GET api/v1/cms/media

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/cms/media" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/media"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/cms/media

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/cms/media

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/media" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"file_name\": \"consequatur\",
    \"file_path\": \"consequatur\",
    \"file_type\": \"consequatur\",
    \"file_size\": 17
}"
const url = new URL(
    "http://localhost:8001/api/v1/cms/media"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "file_name": "consequatur",
    "file_path": "consequatur",
    "file_type": "consequatur",
    "file_size": 17
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/cms/media

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string  optional    

The id of an existing record in the campuses table.

file_name   string     

Example: consequatur

file_path   string     

Example: consequatur

file_type   string     

Example: consequatur

file_size   integer  optional    

Example: 17

DELETE api/v1/cms/media/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/cms/media/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/media/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/cms/media/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the medium. Example: consequatur

POST api/v1/cms/pages/backup

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/pages/backup" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages/backup"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/cms/pages/backup

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/cms/pages/restore

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/cms/pages/restore" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"backup_file\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/cms/pages/restore"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "backup_file": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/cms/pages/restore

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

backup_file   string     

Example: consequatur

Get notifications for the authenticated user GET /api/v1/notifications

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notifications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notifications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notifications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get unread notification count GET /api/v1/notifications/unread-count

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notifications/unread-count" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/unread-count"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notifications/unread-count

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get notification statistics GET /api/v1/notifications/statistics

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notifications/statistics" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/statistics"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notifications/statistics

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Mark all notifications as read POST /api/v1/notifications/mark-all-read

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notifications/mark-all-read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/mark-all-read"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/notifications/mark-all-read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Mark notification as read POST /api/v1/notifications/{id}/read

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notifications/consequatur/read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/consequatur/read"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/notifications/{id}/read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: consequatur

Send notification to specific users POST /api/v1/notifications/send

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notifications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"message\": \"consequatur\",
    \"type\": \"email\",
    \"category\": \"mqeopfuudtdsufvyvddqa\",
    \"permission_required\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/notifications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "message": "consequatur",
    "type": "email",
    "category": "mqeopfuudtdsufvyvddqa",
    "permission_required": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/notifications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

user_ids   string[]  optional    

The id of an existing record in the users table.

title   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

message   string     

Example: consequatur

type   string     

Example: email

Must be one of:
  • sms
  • email
  • push
  • in_app
category   string  optional    

Must not be greater than 50 characters. Example: mqeopfuudtdsufvyvddqa

data   object  optional    
permission_required   string  optional    

Example: consequatur

Send bulk notifications by role/permission POST /api/v1/notifications/send-bulk

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notifications/send-bulk" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"message\": \"consequatur\",
    \"type\": \"in_app\",
    \"category\": \"mqeopfuudtdsufvyvddqa\",
    \"role\": \"consequatur\",
    \"permission\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/send-bulk"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "message": "consequatur",
    "type": "in_app",
    "category": "mqeopfuudtdsufvyvddqa",
    "role": "consequatur",
    "permission": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/notifications/send-bulk

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

message   string     

Example: consequatur

type   string     

Example: in_app

Must be one of:
  • sms
  • email
  • push
  • in_app
category   string  optional    

Must not be greater than 50 characters. Example: mqeopfuudtdsufvyvddqa

role   string  optional    

Example: consequatur

permission   string  optional    

Example: consequatur

campus_id   string  optional    

The id of an existing record in the campuses table.

data   object  optional    

Send notification to users with specific permission POST /api/v1/notifications/send-by-permission

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notifications/send-by-permission" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"permission\": \"consequatur\",
    \"title\": \"mqeopfuudtdsufvyvddqa\",
    \"message\": \"consequatur\",
    \"type\": \"sms\",
    \"category\": \"mqeopfuudtdsufvyvddqa\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/send-by-permission"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "permission": "consequatur",
    "title": "mqeopfuudtdsufvyvddqa",
    "message": "consequatur",
    "type": "sms",
    "category": "mqeopfuudtdsufvyvddqa"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/notifications/send-by-permission

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

permission   string     

Example: consequatur

title   string     

Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

message   string     

Example: consequatur

type   string     

Example: sms

Must be one of:
  • sms
  • email
  • push
  • in_app
category   string  optional    

Must not be greater than 50 characters. Example: mqeopfuudtdsufvyvddqa

Get notification templates GET /api/v1/notifications/templates

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notifications/templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notifications/templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Send SMS POST /api/v1/notifications/sms

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notifications/sms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"consequatur\",
    \"message\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/sms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "phone": "consequatur",
    "message": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/notifications/sms

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

phone   string     

Example: consequatur

message   string     

Example: consequatur

Send Email POST /api/v1/notifications/email

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notifications/email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"qkunze@example.com\",
    \"subject\": \"consequatur\",
    \"body\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/email"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "qkunze@example.com",
    "subject": "consequatur",
    "body": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/notifications/email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: qkunze@example.com

subject   string     

Example: consequatur

body   string     

Example: consequatur

Get notification preferences GET /api/v1/notifications/preferences

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notifications/preferences" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/preferences"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notifications/preferences

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Update notification preferences PUT /api/v1/notifications/preferences

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/notifications/preferences" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"category\": \"consequatur\",
    \"email_enabled\": true,
    \"sms_enabled\": false,
    \"push_enabled\": true,
    \"in_app_enabled\": true
}"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/preferences"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "category": "consequatur",
    "email_enabled": true,
    "sms_enabled": false,
    "push_enabled": true,
    "in_app_enabled": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/notifications/preferences

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

category   string     

Example: consequatur

email_enabled   boolean  optional    

Example: true

sms_enabled   boolean  optional    

Example: false

push_enabled   boolean  optional    

Example: true

in_app_enabled   boolean  optional    

Example: true

Delete a notification DELETE /api/v1/notifications/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/notifications/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notifications/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/notifications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: consequatur

GET /api/v1/notification-templates/sms - List SMS templates

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notification-templates/sms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/sms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notification-templates/sms

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST /api/v1/notification-templates/sms - Create SMS template

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notification-templates/sms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"name\": \"mqeopfuudtdsufvyvddqa\",
    \"body\": \"consequatur\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/sms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "name": "mqeopfuudtdsufvyvddqa",
    "body": "consequatur",
    "is_active": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/notification-templates/sms

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

name   string     

Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

body   string     

Example: consequatur

variables   object  optional    
is_active   boolean  optional    

Example: false

PUT /api/v1/notification-templates/sms/{id} - Update SMS template

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/notification-templates/sms/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"body\": \"consequatur\",
    \"is_active\": true
}"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/sms/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "body": "consequatur",
    "is_active": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/notification-templates/sms/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the sms. Example: consequatur

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

body   string  optional    

Example: consequatur

variables   object  optional    
is_active   boolean  optional    

Example: true

DELETE /api/v1/notification-templates/sms/{id} - Delete SMS template

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/notification-templates/sms/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/sms/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/notification-templates/sms/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the sms. Example: consequatur

GET /api/v1/notification-templates/email - List email templates

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notification-templates/email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/email"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notification-templates/email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST /api/v1/notification-templates/email - Create email template

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notification-templates/email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"name\": \"mqeopfuudtdsufvyvddqa\",
    \"subject\": \"consequatur\",
    \"body\": \"consequatur\",
    \"is_active\": true
}"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/email"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "name": "mqeopfuudtdsufvyvddqa",
    "subject": "consequatur",
    "body": "consequatur",
    "is_active": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/notification-templates/email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

name   string     

Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

subject   string     

Example: consequatur

body   string     

Example: consequatur

variables   object  optional    
is_active   boolean  optional    

Example: true

PUT /api/v1/notification-templates/email/{id} - Update email template

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/notification-templates/email/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"subject\": \"consequatur\",
    \"body\": \"consequatur\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/email/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "subject": "consequatur",
    "body": "consequatur",
    "is_active": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/notification-templates/email/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the email. Example: consequatur

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

subject   string  optional    

Example: consequatur

body   string  optional    

Example: consequatur

variables   object  optional    
is_active   boolean  optional    

Example: false

DELETE /api/v1/notification-templates/email/{id} - Delete email template

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/notification-templates/email/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/email/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/notification-templates/email/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the email. Example: consequatur

GET /api/v1/notification-templates/whatsapp - List WhatsApp templates

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notification-templates/whatsapp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/whatsapp"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notification-templates/whatsapp

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST /api/v1/notification-templates/whatsapp - Create WhatsApp template

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notification-templates/whatsapp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"name\": \"mqeopfuudtdsufvyvddqa\",
    \"body\": \"consequatur\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/whatsapp"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "name": "mqeopfuudtdsufvyvddqa",
    "body": "consequatur",
    "is_active": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/notification-templates/whatsapp

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

name   string     

Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

body   string     

Example: consequatur

variables   object  optional    
is_active   boolean  optional    

Example: false

PUT /api/v1/notification-templates/whatsapp/{id} - Update WhatsApp template

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/notification-templates/whatsapp/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"body\": \"consequatur\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/whatsapp/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "body": "consequatur",
    "is_active": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/notification-templates/whatsapp/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the whatsapp. Example: consequatur

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

body   string  optional    

Example: consequatur

variables   object  optional    
is_active   boolean  optional    

Example: false

DELETE /api/v1/notification-templates/whatsapp/{id} - Delete WhatsApp template

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/notification-templates/whatsapp/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/whatsapp/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/notification-templates/whatsapp/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the whatsapp. Example: consequatur

POST /api/v1/notification-templates/defaults - Create default templates for a campus

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/notification-templates/defaults" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/defaults"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/notification-templates/defaults

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET /api/v1/notification-templates/preview - Preview template with variables

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/notification-templates/preview" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/notification-templates/preview"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/notification-templates/preview

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/system/backup

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/system/backup" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/backup"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/system/backup

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/dashboard

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/dashboard" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/dashboard"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/dashboard

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/dashboard/stats

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/dashboard/stats" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/dashboard/stats"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/dashboard/stats

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/dashboard/activities

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/dashboard/activities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/dashboard/activities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/dashboard/activities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/tours

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/tours" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/tours"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/tours

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/tours/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/tours/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/tours/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/tours/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the tour. Example: consequatur

POST api/v1/tours/complete

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/tours/complete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tour_id\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/tours/complete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tour_id": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/tours/complete

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

tour_id   string     

Example: consequatur

GET api/v1/users

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/users" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/users"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/users

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/users

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/users" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"email\": \"kunde.eloisa@example.com\",
    \"password\": \"4[*UyPJ\\\"}6\",
    \"is_active\": true
}"
const url = new URL(
    "http://localhost:8001/api/v1/users"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "email": "kunde.eloisa@example.com",
    "password": "4[*UyPJ\"}6",
    "is_active": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/users

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

email   string     

Must be a valid email address. Example: kunde.eloisa@example.com

password   string     

Must be at least 6 characters. Example: 4[*UyPJ"}6

campus_id   string  optional    

The id of an existing record in the campuses table.

is_active   boolean  optional    

Example: true

roles   string[]  optional    

The name of an existing record in the roles table.

GET api/v1/users/staff

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/users/staff" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/users/staff"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/users/staff

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/users/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/users/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/users/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/users/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the user. Example: 1

PUT api/v1/users/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/users/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"email\": \"kunde.eloisa@example.com\",
    \"password\": \"4[*UyPJ\\\"}6\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/users/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "email": "kunde.eloisa@example.com",
    "password": "4[*UyPJ\"}6",
    "is_active": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/users/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the user. Example: 1

Body Parameters

name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

email   string     

Must be a valid email address. Example: kunde.eloisa@example.com

password   string     

Must be at least 6 characters. Example: 4[*UyPJ"}6

campus_id   string  optional    

The id of an existing record in the campuses table.

is_active   boolean  optional    

Example: false

roles   string[]  optional    

The name of an existing record in the roles table.

DELETE api/v1/users/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/users/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/users/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/users/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the user. Example: 1

GET api/v1/users/{id}/permissions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/users/1/permissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/users/1/permissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/users/{id}/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the user. Example: 1

PUT api/v1/users/{id}/permissions

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/users/1/permissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/users/1/permissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/users/{id}/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the user. Example: 1

Reset user password (School Admin can reset any user except Super Admin)

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/users/1/reset-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"O[2UZ5ij-e\\/dl4m{o,\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/users/1/reset-password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "password": "O[2UZ5ij-e\/dl4m{o,"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/users/{id}/reset-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the user. Example: 1

Body Parameters

password   string     

Must be at least 8 characters. Example: O[2UZ5ij-e/dl4m{o,

Get all invites for the campus

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/invites" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/invites"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/invites

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Send an invite

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/invites" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"teacher\",
    \"metadata\": {
        \"first_name\": \"vmqeopfuudtdsufvyvddq\",
        \"last_name\": \"amniihfqcoynlazghdtqt\",
        \"phone\": \"qxbajwbpilpmufinl\",
        \"role\": \"lwloauydlsmsjuryvojcy\"
    }
}"
const url = new URL(
    "http://localhost:8001/api/v1/invites"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "teacher",
    "metadata": {
        "first_name": "vmqeopfuudtdsufvyvddq",
        "last_name": "amniihfqcoynlazghdtqt",
        "phone": "qxbajwbpilpmufinl",
        "role": "lwloauydlsmsjuryvojcy"
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/invites

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string  optional    
type   string     

Example: teacher

Must be one of:
  • parent
  • staff
  • teacher
metadata   object  optional    
first_name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

last_name   string  optional    

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

phone   string  optional    

Must not be greater than 20 characters. Example: qxbajwbpilpmufinl

role   string  optional    

Must not be greater than 255 characters. Example: lwloauydlsmsjuryvojcy

Resend an invite

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/invites/17/resend" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/invites/17/resend"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/invites/{id}/resend

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the invite. Example: 17

Cancel an invite

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/invites/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/invites/17"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/invites/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the invite. Example: 17

GET api/v1/roles

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/roles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/roles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/roles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/roles

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/roles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/roles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/roles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

permissions   string[]  optional    

The name of an existing record in the permissions table.

GET api/v1/roles/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/roles/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/roles/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/roles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the role. Example: consequatur

PUT api/v1/roles/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/roles/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/roles/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/roles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the role. Example: consequatur

Body Parameters

name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

permissions   string[]  optional    

The name of an existing record in the permissions table.

DELETE api/v1/roles/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/roles/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/roles/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/roles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the role. Example: consequatur

GET api/v1/roles/{id}/permissions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/roles/consequatur/permissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/roles/consequatur/permissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/roles/{id}/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the role. Example: consequatur

PUT api/v1/roles/{id}/permissions

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/roles/consequatur/permissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/roles/consequatur/permissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/roles/{id}/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the role. Example: consequatur

GET api/v1/permissions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/permissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/permissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/system/pwa

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/system/pwa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pwa_enabled\": false,
    \"pwa_app_name\": \"vmqeopfuudtdsufvyvddq\",
    \"pwa_theme_color\": \"#e01e45\",
    \"pwa_background_color\": \"#e01e45\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/system/pwa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pwa_enabled": false,
    "pwa_app_name": "vmqeopfuudtdsufvyvddq",
    "pwa_theme_color": "#e01e45",
    "pwa_background_color": "#e01e45"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/system/pwa

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

pwa_enabled   boolean  optional    

Example: false

pwa_app_name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

pwa_theme_color   string  optional    

Must match the regex /^#[a-fA-F0-9]{6}$/. Example: #e01e45

pwa_background_color   string  optional    

Must match the regex /^#[a-fA-F0-9]{6}$/. Example: #e01e45

GET api/v1/system/pwa/installations

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/pwa/installations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/pwa/installations"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system/pwa/installations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/system/pwa/reports

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/pwa/reports" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/pwa/reports"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system/pwa/reports

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/system/pwa/installations/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/system/pwa/installations/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"uninstalled\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/system/pwa/installations/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "uninstalled"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/system/pwa/installations/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the installation. Example: consequatur

Body Parameters

status   string     

Example: uninstalled

Must be one of:
  • active
  • inactive
  • uninstalled

GET api/v1/system/push/vapid-key

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/push/vapid-key" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/push/vapid-key"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system/push/vapid-key

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/system/push/subscribe

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/system/push/subscribe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"endpoint\": \"consequatur\",
    \"keys\": {
        \"p256dh\": \"consequatur\",
        \"auth\": \"enim\"
    },
    \"device_type\": \"consequatur\",
    \"browser\": \"consequatur\",
    \"platform\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/system/push/subscribe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "endpoint": "consequatur",
    "keys": {
        "p256dh": "consequatur",
        "auth": "enim"
    },
    "device_type": "consequatur",
    "browser": "consequatur",
    "platform": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/system/push/subscribe

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

endpoint   string     

Example: consequatur

keys   object  optional    
p256dh   string     

Example: consequatur

auth   string     

Example: enim

device_type   string  optional    

Example: consequatur

browser   string  optional    

Example: consequatur

platform   string  optional    

Example: consequatur

POST api/v1/system/push/unsubscribe

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/system/push/unsubscribe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"endpoint\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/system/push/unsubscribe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "endpoint": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/system/push/unsubscribe

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

endpoint   string     

Example: consequatur

GET api/v1/system/push/subscriptions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/push/subscriptions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/push/subscriptions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system/push/subscriptions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/system/push/test

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/system/push/test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/push/test"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/system/push/test

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/system/premium-features

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/premium-features" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/premium-features"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system/premium-features

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/system/premium-features/{feature}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/system/premium-features/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/premium-features/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/system/premium-features/{feature}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

feature   string     

Example: consequatur

GET api/v1/system/check-feature/{feature}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/check-feature/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/check-feature/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system/check-feature/{feature}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

feature   string     

Example: consequatur

PUT api/v1/system/security/bruteforce

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/system/security/bruteforce" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/security/bruteforce"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/system/security/bruteforce

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/system/security/bruteforce

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/security/bruteforce" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/security/bruteforce"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system/security/bruteforce

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/system/security/logs

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system/security/logs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system/security/logs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system/security/logs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Set dashboard theme

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/dashboard-theme" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"theme\": \"midnight-glass\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/dashboard-theme"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "theme": "midnight-glass"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/dashboard-theme

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

theme   string     

Example: midnight-glass

Must be one of:
  • dark
  • light
  • ocean-glass
  • sunset-glass
  • aurora-glass
  • midnight-glass
  • cherry-glass

Set public theme

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/public-theme" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"theme\": \"default\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/public-theme"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "theme": "default"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/public-theme

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

theme   string     

Example: default

Must be one of:
  • default
  • ocean-glass
  • sunset-glass
  • aurora-glass
  • midnight-glass
  • cherry-glass

PUT api/v1/config

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/config

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get all subscription plans with their features

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/subscription-plans" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/subscription-plans"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/subscription-plans

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Create new subscription plan

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/subscription-plans" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"slug\": \"consequatur\",
    \"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
    \"billing_cycle\": \"lifetime\",
    \"base_price\": 12,
    \"per_student_price\": 66,
    \"per_campus_price\": 13,
    \"max_students\": 65,
    \"max_campuses\": 72,
    \"features\": [
        \"consequatur\"
    ]
}"
const url = new URL(
    "http://localhost:8001/api/v1/subscription-plans"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "slug": "consequatur",
    "description": "Dolores dolorum amet iste laborum eius est dolor.",
    "billing_cycle": "lifetime",
    "base_price": 12,
    "per_student_price": 66,
    "per_campus_price": 13,
    "max_students": 65,
    "max_campuses": 72,
    "features": [
        "consequatur"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/subscription-plans

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

slug   string     

Example: consequatur

description   string  optional    

Example: Dolores dolorum amet iste laborum eius est dolor.

billing_cycle   string     

Example: lifetime

Must be one of:
  • monthly
  • quarterly
  • yearly
  • lifetime
base_price   number     

Must be at least 0. Example: 12

per_student_price   number     

Must be at least 0. Example: 66

per_campus_price   number     

Must be at least 0. Example: 13

max_students   integer  optional    

Must be at least 1. Example: 65

max_campuses   integer  optional    

Must be at least 1. Example: 72

features   string[]  optional    

Update subscription plan

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/subscription-plans/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
    \"billing_cycle\": \"quarterly\",
    \"base_price\": 12,
    \"per_student_price\": 66,
    \"per_campus_price\": 13,
    \"max_students\": 65,
    \"max_campuses\": 72,
    \"is_active\": true,
    \"display_order\": 18
}"
const url = new URL(
    "http://localhost:8001/api/v1/subscription-plans/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "description": "Dolores dolorum amet iste laborum eius est dolor.",
    "billing_cycle": "quarterly",
    "base_price": 12,
    "per_student_price": 66,
    "per_campus_price": 13,
    "max_students": 65,
    "max_campuses": 72,
    "is_active": true,
    "display_order": 18
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/subscription-plans/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the subscription plan. Example: consequatur

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string  optional    

Example: Dolores dolorum amet iste laborum eius est dolor.

billing_cycle   string  optional    

Example: quarterly

Must be one of:
  • monthly
  • quarterly
  • yearly
  • lifetime
base_price   number  optional    

Must be at least 0. Example: 12

per_student_price   number  optional    

Must be at least 0. Example: 66

per_campus_price   number  optional    

Must be at least 0. Example: 13

max_students   integer  optional    

Must be at least 1. Example: 65

max_campuses   integer  optional    

Must be at least 1. Example: 72

is_active   boolean  optional    

Example: true

display_order   integer  optional    

Must be at least 0. Example: 18

Delete subscription plan

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/subscription-plans/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/subscription-plans/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/subscription-plans/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the subscription plan. Example: consequatur

Update plan features

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/subscription-plans/consequatur/features" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"features\": [
        {
            \"key\": \"consequatur\",
            \"enabled\": true,
            \"limit\": 45
        }
    ]
}"
const url = new URL(
    "http://localhost:8001/api/v1/subscription-plans/consequatur/features"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "features": [
        {
            "key": "consequatur",
            "enabled": true,
            "limit": 45
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/subscription-plans/{id}/features

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the subscription plan. Example: consequatur

Body Parameters

features   object[]     
key   string     

Example: consequatur

enabled   boolean     

Example: true

limit   integer  optional    

Must be at least 1. Example: 45

Get all school subscriptions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/school-subscriptions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/school-subscriptions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/school-subscriptions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Create/assign subscription to school

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/school-subscriptions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"subscription_plan_id\": \"consequatur\",
    \"status\": \"pending\",
    \"starts_at\": \"2026-05-30T11:59:10\",
    \"expires_at\": \"2107-06-29\",
    \"max_students_limit\": 45,
    \"max_campuses_limit\": 56,
    \"notes\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/school-subscriptions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "subscription_plan_id": "consequatur",
    "status": "pending",
    "starts_at": "2026-05-30T11:59:10",
    "expires_at": "2107-06-29",
    "max_students_limit": 45,
    "max_campuses_limit": 56,
    "notes": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/school-subscriptions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

subscription_plan_id   string     

The id of an existing record in the subscription_plans table. Example: consequatur

status   string     

Example: pending

Must be one of:
  • active
  • pending
  • suspended
starts_at   string     

Must be a valid date. Example: 2026-05-30T11:59:10

expires_at   string  optional    

Must be a valid date. Must be a date after starts_at. Example: 2107-06-29

max_students_limit   integer  optional    

Must be at least 1. Example: 45

max_campuses_limit   integer  optional    

Must be at least 1. Example: 56

notes   string  optional    

Example: consequatur

Update school subscription

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/school-subscriptions/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"active\",
    \"starts_at\": \"2026-05-30T11:59:10\",
    \"expires_at\": \"2026-05-30T11:59:10\",
    \"max_students_limit\": 73,
    \"max_campuses_limit\": 45,
    \"current_student_count\": 56,
    \"current_campus_count\": 16,
    \"auto_renew\": false,
    \"notes\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/school-subscriptions/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "active",
    "starts_at": "2026-05-30T11:59:10",
    "expires_at": "2026-05-30T11:59:10",
    "max_students_limit": 73,
    "max_campuses_limit": 45,
    "current_student_count": 56,
    "current_campus_count": 16,
    "auto_renew": false,
    "notes": "consequatur"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/school-subscriptions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the school subscription. Example: consequatur

Body Parameters

subscription_plan_id   string  optional    

The id of an existing record in the subscription_plans table.

status   string  optional    

Example: active

Must be one of:
  • active
  • expired
  • cancelled
  • suspended
  • pending
starts_at   string  optional    

Must be a valid date. Example: 2026-05-30T11:59:10

expires_at   string  optional    

Must be a valid date. Example: 2026-05-30T11:59:10

max_students_limit   integer  optional    

Must be at least 1. Example: 73

max_campuses_limit   integer  optional    

Must be at least 1. Example: 45

current_student_count   integer  optional    

Must be at least 0. Example: 56

current_campus_count   integer  optional    

Must be at least 0. Example: 16

auto_renew   boolean  optional    

Example: false

notes   string  optional    

Example: consequatur

Override subscription features

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/school-subscriptions/consequatur/override-features" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"custom_features\": [
        {
            \"key\": \"consequatur\",
            \"enabled\": true,
            \"limit\": 45
        }
    ]
}"
const url = new URL(
    "http://localhost:8001/api/v1/school-subscriptions/consequatur/override-features"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "custom_features": [
        {
            "key": "consequatur",
            "enabled": true,
            "limit": 45
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/school-subscriptions/{id}/override-features

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the school subscription. Example: consequatur

Body Parameters

custom_features   object[]     
key   string     

Example: consequatur

enabled   boolean     

Example: true

limit   integer  optional    

Must be at least 1. Example: 45

Get current school's subscription details

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/my-subscription" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/my-subscription"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/my-subscription

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get available plans for upgrade

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/subscription-plans/available" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/subscription-plans/available"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/subscription-plans/available

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Request subscription upgrade

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/subscription-upgrade/request" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"plan_id\": \"consequatur\",
    \"student_count\": 45,
    \"campus_count\": 56,
    \"payment_method\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/subscription-upgrade/request"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "plan_id": "consequatur",
    "student_count": 45,
    "campus_count": 56,
    "payment_method": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/subscription-upgrade/request

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

plan_id   string     

The id of an existing record in the subscription_plans table. Example: consequatur

student_count   integer     

Must be at least 1. Example: 45

campus_count   integer     

Must be at least 1. Example: 56

payment_method   string     

Example: consequatur

Check if current user has access to a specific feature

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/school-subscriptions/consequatur/check-feature" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/school-subscriptions/consequatur/check-feature"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/school-subscriptions/{campusId}/check-feature

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

campusId   string     

Example: consequatur

PUT api/v1/profile

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/profile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"phone\": \"amniihfqcoynlazgh\",
    \"address\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/profile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "phone": "amniihfqcoynlazgh",
    "address": "consequatur"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/profile

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

email   string  optional    
phone   string  optional    

Must not be greater than 20 characters. Example: amniihfqcoynlazgh

address   string  optional    

Example: consequatur

PUT api/v1/profile/password

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/profile/password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"current_password\": \"consequatur\",
    \"password\": \"[2UZ5ij-e\\/dl4\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/profile/password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "current_password": "consequatur",
    "password": "[2UZ5ij-e\/dl4"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/profile/password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

current_password   string     

Example: consequatur

password   string     

Must be at least 8 characters. Example: [2UZ5ij-e/dl4

GET api/v1/system-config/features

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/system-config/features" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/system-config/features"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/system-config/features

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/reports/students

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/reports/students" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/reports/students"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/reports/students

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/reports/finance

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/reports/finance" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/reports/finance"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/reports/finance

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/reports/academics

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/reports/academics" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/reports/academics"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/reports/academics

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/reports/attendance

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/reports/attendance" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/reports/attendance"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/reports/attendance

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/audit

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/audit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/audit"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/audit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/audit/statistics

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/audit/statistics" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/audit/statistics"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/audit/statistics

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/audit/filters

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/audit/filters" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/audit/filters"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/audit/filters

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/audit/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/audit/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/audit/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/audit/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the audit. Example: consequatur

GET api/v1/social-media/accounts

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social-media/accounts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/accounts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social-media/accounts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/social-media/accounts

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/social-media/accounts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/accounts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/social-media/accounts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/social-media/accounts/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/social-media/accounts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/accounts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/social-media/accounts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the account. Example: consequatur

DELETE api/v1/social-media/accounts/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/social-media/accounts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/accounts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/social-media/accounts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the account. Example: consequatur

GET api/v1/social-media/posts

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social-media/posts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/posts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social-media/posts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/social-media/posts

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/social-media/posts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/posts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/social-media/posts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/social-media/posts/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social-media/posts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/posts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social-media/posts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the post. Example: consequatur

DELETE api/v1/social-media/posts/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/social-media/posts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/posts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/social-media/posts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the post. Example: consequatur

POST api/v1/social-media/posts/{id}/publish

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/social-media/posts/consequatur/publish" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/posts/consequatur/publish"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/social-media/posts/{id}/publish

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the post. Example: consequatur

GET api/v1/social-media/analytics

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social-media/analytics" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social-media/analytics"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social-media/analytics

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/social/accounts

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social/accounts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/accounts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social/accounts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/social/accounts

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/social/accounts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/accounts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/social/accounts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/social/accounts/{id}

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/social/accounts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/accounts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/social/accounts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the account. Example: consequatur

DELETE api/v1/social/accounts/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/social/accounts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/accounts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/social/accounts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the account. Example: consequatur

GET api/v1/social/posts

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social/posts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/posts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social/posts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/social/posts

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/social/posts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/posts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/social/posts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/social/posts/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social/posts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/posts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social/posts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the post. Example: consequatur

DELETE api/v1/social/posts/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/social/posts/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/posts/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/social/posts/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the post. Example: consequatur

POST api/v1/social/posts/{id}/publish

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/social/posts/consequatur/publish" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/posts/consequatur/publish"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/social/posts/{id}/publish

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the post. Example: consequatur

GET api/v1/social/posts/scheduled

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social/posts/scheduled" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/posts/scheduled"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social/posts/scheduled

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/social/posts/{id}/schedule

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/social/posts/consequatur/schedule" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/posts/consequatur/schedule"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/social/posts/{id}/schedule

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the post. Example: consequatur

GET api/v1/social/analytics

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social/analytics" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/analytics"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social/analytics

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/social/analytics/{accountId}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/social/analytics/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/social/analytics/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/social/analytics/{accountId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

accountId   string     

Example: consequatur

GET api/v1/academy/suggestions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/suggestions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/suggestions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/suggestions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academy/suggestions/student/{studentId}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/suggestions/student/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/suggestions/student/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/suggestions/student/{studentId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

studentId   string     

Example: consequatur

GET api/v1/academy/suggestions/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/suggestions/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/suggestions/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/suggestions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the suggestion. Example: consequatur

GET api/v1/academy/chat/history

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/chat/history" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/chat/history"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/chat/history

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academy/chat/sessions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/chat/sessions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/chat/sessions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/chat/sessions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academy/config

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/config

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academy/monitoring

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/monitoring" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/monitoring"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/monitoring

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academy/parent-activity

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/parent-activity" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/parent-activity"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/parent-activity

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/academy/chat

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academy/chat" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/chat"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academy/chat

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/academy/chat/session/{studentId}

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academy/chat/session/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/chat/session/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academy/chat/session/{studentId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

studentId   string     

Example: consequatur

POST api/v1/academy/chat/{sessionId}/message

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academy/chat/consequatur/message" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/chat/consequatur/message"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academy/chat/{sessionId}/message

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

sessionId   string     

Example: consequatur

POST api/v1/academy/suggestions

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academy/suggestions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": 17,
    \"type\": \"consequatur\",
    \"content\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/academy/suggestions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "student_id": 17,
    "type": "consequatur",
    "content": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/academy/suggestions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

student_id   integer     

Example: 17

type   string     

Example: consequatur

content   string     

Example: consequatur

PUT api/v1/academy/suggestions/{id}/approve

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academy/suggestions/consequatur/approve" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/suggestions/consequatur/approve"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/academy/suggestions/{id}/approve

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the suggestion. Example: consequatur

PUT api/v1/academy/suggestions/{id}/reject

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academy/suggestions/consequatur/reject" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/suggestions/consequatur/reject"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/v1/academy/suggestions/{id}/reject

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the suggestion. Example: consequatur

PUT api/v1/academy/config

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academy/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"is_enabled\": true,
    \"chat_enabled\": false,
    \"default_tone\": \"consequatur\",
    \"max_daily_messages\": 45,
    \"ai_model\": \"consequatur\",
    \"ai_provider\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/academy/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "is_enabled": true,
    "chat_enabled": false,
    "default_tone": "consequatur",
    "max_daily_messages": 45,
    "ai_model": "consequatur",
    "ai_provider": "consequatur"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/academy/config

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

is_enabled   boolean  optional    

Example: true

chat_enabled   boolean  optional    

Example: false

default_tone   string  optional    

Example: consequatur

max_daily_messages   integer  optional    

Must be at least 1. Example: 45

ai_model   string  optional    

Example: consequatur

ai_provider   string  optional    

Example: consequatur

POST api/v1/academy/configure

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academy/configure" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"is_enabled\": true,
    \"chat_enabled\": false,
    \"default_tone\": \"consequatur\",
    \"max_daily_messages\": 45,
    \"ai_model\": \"consequatur\",
    \"ai_provider\": \"consequatur\"
}"
const url = new URL(
    "http://localhost:8001/api/v1/academy/configure"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "is_enabled": true,
    "chat_enabled": false,
    "default_tone": "consequatur",
    "max_daily_messages": 45,
    "ai_model": "consequatur",
    "ai_provider": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/academy/configure

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

is_enabled   boolean  optional    

Example: true

chat_enabled   boolean  optional    

Example: false

default_tone   string  optional    

Example: consequatur

max_daily_messages   integer  optional    

Must be at least 1. Example: 45

ai_model   string  optional    

Example: consequatur

ai_provider   string  optional    

Example: consequatur

POST api/v1/academy/notify-parents

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academy/notify-parents" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/notify-parents"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academy/notify-parents

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/subscriptions/plans

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/subscriptions/plans" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/subscriptions/plans"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/subscriptions/plans

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/subscriptions/school/{campusId}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/subscriptions/school/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/subscriptions/school/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/subscriptions/school/{campusId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

campusId   string     

Example: consequatur

POST api/v1/subscriptions

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/subscriptions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"plan_id\": \"consequatur\",
    \"billing_cycle\": \"monthly\",
    \"auto_renew\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/subscriptions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "plan_id": "consequatur",
    "billing_cycle": "monthly",
    "auto_renew": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/subscriptions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

plan_id   string     

The id of an existing record in the ai_access_plans table. Example: consequatur

billing_cycle   string     

Example: monthly

Must be one of:
  • monthly
  • yearly
auto_renew   boolean  optional    

Example: false

POST api/v1/subscriptions/assign

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/subscriptions/assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"plan_id\": \"consequatur\",
    \"billing_cycle\": \"monthly\",
    \"auto_renew\": true
}"
const url = new URL(
    "http://localhost:8001/api/v1/subscriptions/assign"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "plan_id": "consequatur",
    "billing_cycle": "monthly",
    "auto_renew": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/subscriptions/assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

plan_id   string     

The id of an existing record in the ai_access_plans table. Example: consequatur

billing_cycle   string     

Example: monthly

Must be one of:
  • monthly
  • yearly
auto_renew   boolean  optional    

Example: true

GET api/v1/subscriptions/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/subscriptions/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/subscriptions/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/subscriptions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the subscription. Example: consequatur

POST api/v1/subscriptions/{id}/cancel

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/subscriptions/consequatur/cancel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/subscriptions/consequatur/cancel"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/subscriptions/{id}/cancel

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the subscription. Example: consequatur

GET api/v1/subscriptions/usage

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/subscriptions/usage" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/subscriptions/usage"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/subscriptions/usage

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academy/subscriptions

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/subscriptions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/subscriptions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/subscriptions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/academy/usage

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/academy/usage" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/usage"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/academy/usage

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/academy/usage/{id}/reset

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/academy/usage/consequatur/reset" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/academy/usage/consequatur/reset"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/academy/usage/{id}/reset

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the usage. Example: consequatur

PUT api/v1/academy/usage/{id}/limit

Example request:
curl --request PUT \
    "http://localhost:8001/api/v1/academy/usage/consequatur/limit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"campus_id\": \"consequatur\",
    \"plan_id\": \"consequatur\",
    \"billing_cycle\": \"yearly\",
    \"auto_renew\": false
}"
const url = new URL(
    "http://localhost:8001/api/v1/academy/usage/consequatur/limit"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "campus_id": "consequatur",
    "plan_id": "consequatur",
    "billing_cycle": "yearly",
    "auto_renew": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/academy/usage/{id}/limit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the usage. Example: consequatur

Body Parameters

campus_id   string     

The id of an existing record in the campuses table. Example: consequatur

plan_id   string     

The id of an existing record in the ai_access_plans table. Example: consequatur

billing_cycle   string     

Example: yearly

Must be one of:
  • monthly
  • yearly
auto_renew   boolean  optional    

Example: false

GET api/v1/backups

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/backups" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/backups"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/backups

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/backups

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/backups" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/backups"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/backups

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/backups/{id}

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/backups/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/backups/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/backups/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the backup. Example: consequatur

POST api/v1/backups/{id}/restore

Example request:
curl --request POST \
    "http://localhost:8001/api/v1/backups/consequatur/restore" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/backups/consequatur/restore"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/backups/{id}/restore

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the backup. Example: consequatur

DELETE api/v1/backups/{id}

Example request:
curl --request DELETE \
    "http://localhost:8001/api/v1/backups/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/backups/consequatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/backups/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the backup. Example: consequatur

GET api/v1/backups/{id}/download

Example request:
curl --request GET \
    --get "http://localhost:8001/api/v1/backups/consequatur/download" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost:8001/api/v1/backups/consequatur/download"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: camera=(), microphone=(), geolocation=()
vary: Accept-Encoding
access-control-allow-methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
access-control-allow-headers: Content-Type, Authorization, X-Requested-With, Accept, X-CSRF-Token, Origin
access-control-max-age: 86400
access-control-expose-headers: Authorization
access-control-allow-origin: *
 

{
    "error": "Unauthenticated"
}
 

Request      

GET api/v1/backups/{id}/download

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the backup. Example: consequatur