Orah MCP by usefulapi

Read students, rolls and attendance; create and update students, contacts and houses in Orah.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
82%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~5,745Tokens (tool definitions)
~1.7 KBTypical response size
Significant attention impact (4.49% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "orah": {
      "url": "https://orah.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://orah.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (25)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢orah_list_students(deactivated, house_ids, house_sis_ids, group_ids, group_sis_ids, ...)

List students with optional filters (house, group, year level, student type, deactivated). Without filters it returns all active students; set page_size to page the list. Orah route: POST /open-api/student/list.

Input Schema

{
  "type": "object",
  "properties": {
    "deactivated": {
      "description": "true lists deactivated students (default false).",
      "type": "boolean"
    },
    "house_ids": {
      "description": "Orah ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "house_sis_ids": {
      "description": "SIS ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "group_ids": {
      "description": "Orah ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "group_sis_ids": {
      "description": "SIS ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "year_levels": {
      "description": "Exact year level values, e.g. 'Year 11'.",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "student_types": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Boarding",
          "Day",
          "Remote",
          "FlexiBoarding"
        ]
      }
    },
    "page_size": {
      "description": "Records per page (1-1000, default 200).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_index": {
      "description": "Zero-based page number (default 0). Keep paging while full pages return.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "sort_order": {
      "description": "Sort by student id when paging (default ASC).",
      "type": "string",
      "enum": [
        "ASC",
        "DESC"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_get_student(id, sis_id)

Get one student with contact-relevant fields, house and dietary or medical notes. Give the Orah id or the SIS id. Orah route: POST /open-api/student/get-single.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah id."
    },
    "sis_id": {
      "type": "string",
      "minLength": 1,
      "description": "SIS id from the school's student information system."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_houses

List all houses (student groupings) at the school. Use the ids in the student filters. Orah route: POST /open-api/house/list.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_student_contacts(student_id, student_sis_id)

List the contacts (parents, guardians) of one student. Give the student's Orah id or SIS id. Orah route: POST /open-api/contact/list-by-student.

Input Schema

{
  "type": "object",
  "properties": {
    "student_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah id."
    },
    "student_sis_id": {
      "type": "string",
      "minLength": 1,
      "description": "SIS id from the school's student information system."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_groups(types, page_size, page_index)

List groups: academic classes, advisories, athletics, activities and more. Filter by type, e.g. 'Academics', to find classes. Orah route: POST /open-api/group/list.

Input Schema

{
  "type": "object",
  "properties": {
    "types": {
      "description": "Group types, e.g. ['Academics']. Values combine with OR.",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "page_size": {
      "description": "Records per page (1-1000, default 200).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_index": {
      "description": "Zero-based page number (default 0). Keep paging while full pages return.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_reason_codes(reason_types, sis_ids, page_size, page_index)

List the school's attendance reason codes (for example 'Tardy Unexcused'). Use them to read reasons on attendance and roll records. Orah route: POST /open-api/reason-code/list.

Input Schema

{
  "type": "object",
  "properties": {
    "reason_types": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "excused",
          "unexcused",
          "notExpected"
        ]
      }
    },
    "sis_ids": {
      "description": "SIS ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "page_size": {
      "description": "Records per page (1-1000, default 200).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_index": {
      "description": "Zero-based page number (default 0). Keep paging while full pages return.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_locations(nested)

List the school's location tree (zones, buildings, rooms, floors, outdoor facilities) with each location's state (on grounds, off grounds, home). Orah route: POST /open-api/location/tree.

Input Schema

{
  "type": "object",
  "properties": {
    "nested": {
      "description": "true nests child locations; false returns a flat list.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_current_locations(student_ids, student_sis_ids)

List the current location record of each student (one per student; a new student may have none). Limit to some students with ids or SIS ids. Orah route: POST /open-api/location-record/get-current.

Input Schema

{
  "type": "object",
  "properties": {
    "student_ids": {
      "description": "Orah ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "student_sis_ids": {
      "description": "SIS ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_location_records(student_id, student_sis_id, start_date, end_date, page_size, ...)

List check-in and in-transit location records in time order, for all students or one student, within an optional time range. Paged. Orah route: POST /open-api/location-record/timeline.

Input Schema

{
  "type": "object",
  "properties": {
    "student_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah id."
    },
    "student_sis_id": {
      "type": "string",
      "minLength": 1,
      "description": "SIS id from the school's student information system."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})$",
      "description": "ISO 8601 date-time, e.g. 2026-11-01T00:00:00.000Z."
    },
    "end_date": {
      "description": "Exclusive upper bound. Default: now.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "page_size": {
      "description": "Records per page (1-1000, default 200).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_index": {
      "description": "Zero-based page number (default 0). Keep paging while full pages return.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_pastoral(student_id, student_sis_id, start_date, end_date, updated_since, ...)

List pastoral entries (discipline, merit, health and other student events written by staff), in date order, for all students or one student. Sensitive entries show only to staff with extra rights. Paged. Orah route: POST /open-api/pastoral/timeline.

Input Schema

{
  "type": "object",
  "properties": {
    "student_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah id."
    },
    "student_sis_id": {
      "type": "string",
      "minLength": 1,
      "description": "SIS id from the school's student information system."
    },
    "start_date": {
      "description": "Inclusive lower bound.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "end_date": {
      "description": "Exclusive upper bound. Default: now.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "updated_since": {
      "description": "Only entries created or changed since this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "nested_category": {
      "description": "true nests the parent category under the category.",
      "type": "boolean"
    },
    "page_size": {
      "description": "Records per page (1-1000, default 200).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_index": {
      "description": "Zero-based page number (default 0). Keep paging while full pages return.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_roll_types(type, is_active)

List roll types (Daily, Emergency, Attendance) with whether each is manual or automatic and active. Orah route: POST /open-api/roll-type/list.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "Daily",
        "Emergency",
        "Attendance"
      ]
    },
    "is_active": {
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_rolls(status, start_date, end_date, page_size, page_index)

List rolls (completed by default) in a time range, without per-student marks. Use orah_get_roll for one roll's marks. Paged. Orah route: POST /open-api/roll/timeline.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Life-cycle status (default Complete).",
      "type": "string",
      "enum": [
        "Complete",
        "Active",
        "All"
      ]
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})$",
      "description": "ISO 8601 date-time, e.g. 2026-11-01T00:00:00.000Z."
    },
    "end_date": {
      "description": "Exclusive upper bound. Default: now.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "page_size": {
      "description": "Records per page (1-1000, default 200).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_index": {
      "description": "Zero-based page number (default 0). Keep paging while full pages return.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_get_roll(roll_id)

Get one roll with its codes and every student's mark, reason and note. Orah route: POST /open-api/roll/get-single.

Input Schema

{
  "type": "object",
  "properties": {
    "roll_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah roll id (from orah_list_rolls)."
    }
  },
  "required": [
    "roll_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_daily_attendance(start_date, end_date, student_ids, student_sis_ids, attendance_codes, ...)

List the daily attendance status per student for a date window (the same status the Orah dashboards show). The window is required: start_date is inclusive, end_date is exclusive and optional (omit it for one day). Maximum 12 months. Orah route: POST /open-api/daily-attendance/timeline.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date, yyyy-mm-dd."
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date, yyyy-mm-dd."
    },
    "student_ids": {
      "description": "Orah ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "student_sis_ids": {
      "description": "SIS ids (any of them).",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "attendance_codes": {
      "description": "Only these daily codes (any of them), e.g. ['Unexcused Absent'].",
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Present",
          "Unexcused Late",
          "Excused Late",
          "Unexcused Absent",
          "Excused Absent",
          "Not Expected"
        ]
      }
    },
    "page_size": {
      "description": "Records per page (1-1000, default 200).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_index": {
      "description": "Zero-based page number (default 0). Keep paging while full pages return.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "start_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_scheduled_classes(date, staff_id, group_id, student_id)

List the scheduled class attendance items for one UTC date, optionally for one staff member, group or student. Orah route: POST /open-api/classes/scheduled.

Input Schema

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "UTC date, yyyy-mm-dd."
    },
    "staff_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "group_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "student_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_staff(deactivated)

List staff members. Set deactivated to true to list suspended staff. Orah route: POST /open-api/staff/list.

Input Schema

{
  "type": "object",
  "properties": {
    "deactivated": {
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_get_staff(id, sis_id)

Get one staff member by Orah id or SIS id. Orah route: POST /open-api/staff/get-single.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah id."
    },
    "sis_id": {
      "type": "string",
      "minLength": 1,
      "description": "SIS id from the school's student information system."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_list_leave_types

List the active leave types (for example absence categories) and their short codes. Orah route: POST /open-api/leave-type/list.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢orah_get_leave(leave_id)

Get one leave record (a student's planned or past absence) with its time, status, type, location and note. Orah route: POST /open-api/leave/get-single.

Input Schema

{
  "type": "object",
  "properties": {
    "leave_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah leave id."
    }
  },
  "required": [
    "leave_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴orah_create_student(first_name, last_name, alt_name, birth_date, gender, ...)

Create a student record. first_name and last_name are required. Creates a real student in the school's Orah. Orah route: POST /open-api/student/create.

Input Schema

{
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string",
      "minLength": 1
    },
    "last_name": {
      "type": "string",
      "minLength": 1
    },
    "alt_name": {
      "description": "Preferred name.",
      "type": "string"
    },
    "birth_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date, yyyy-mm-dd."
    },
    "gender": {
      "type": "string",
      "enum": [
        "Male",
        "Female",
        "Other",
        "Unknown"
      ]
    },
    "email": {
      "type": "string"
    },
    "home_number": {
      "type": "string"
    },
    "mobile_number": {
      "type": "string"
    },
    "diet_info": {
      "type": "string"
    },
    "medical_info": {
      "type": "string"
    },
    "reference_id": {
      "description": "The school's human-known student id.",
      "type": "string"
    },
    "is_international": {
      "type": "boolean"
    },
    "student_type": {
      "type": "string",
      "enum": [
        "Boarding",
        "Day",
        "Remote",
        "FlexiBoarding"
      ]
    },
    "year_level": {
      "type": "string"
    },
    "room_number": {
      "type": "string"
    },
    "bed_number": {
      "type": "string"
    },
    "sis_id": {
      "type": "string"
    },
    "deactivated": {
      "description": "true deactivates the student (hides them from active lists). This server does not offer deletes.",
      "type": "boolean"
    },
    "house_id": {
      "description": "Orah house id, or null for no house.",
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "house_sis_id": {
      "description": "House SIS id.",
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "first_name",
    "last_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴orah_update_student(student_id, current_sis_id, first_name, last_name, alt_name, ...)

Update a student's fields (names, year level, house, dietary or medical notes, contact details). Find the student by student_id or current_sis_id; sis_id sets a new SIS id. To hide a student from active lists, set deactivated to true. This server does not offer Orah's student delete route. Orah route: POST /open-api/student/update.

Input Schema

{
  "type": "object",
  "properties": {
    "student_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah id."
    },
    "current_sis_id": {
      "type": "string",
      "minLength": 1,
      "description": "SIS id from the school's student information system."
    },
    "first_name": {
      "type": "string",
      "minLength": 1
    },
    "last_name": {
      "type": "string",
      "minLength": 1
    },
    "alt_name": {
      "description": "Preferred name.",
      "type": "string"
    },
    "birth_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date, yyyy-mm-dd."
    },
    "gender": {
      "type": "string",
      "enum": [
        "Male",
        "Female",
        "Other",
        "Unknown"
      ]
    },
    "email": {
      "type": "string"
    },
    "home_number": {
      "type": "string"
    },
    "mobile_number": {
      "type": "string"
    },
    "diet_info": {
      "type": "string"
    },
    "medical_info": {
      "type": "string"
    },
    "reference_id": {
      "description": "The school's human-known student id.",
      "type": "string"
    },
    "is_international": {
      "type": "boolean"
    },
    "student_type": {
      "type": "string",
      "enum": [
        "Boarding",
        "Day",
        "Remote",
        "FlexiBoarding"
      ]
    },
    "year_level": {
      "type": "string"
    },
    "room_number": {
      "type": "string"
    },
    "bed_number": {
      "type": "string"
    },
    "sis_id": {
      "type": "string"
    },
    "deactivated": {
      "description": "true deactivates the student (hides them from active lists). This server does not offer deletes.",
      "type": "boolean"
    },
    "house_id": {
      "description": "Orah house id, or null for no house.",
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "house_sis_id": {
      "description": "House SIS id.",
      "type": "string",
      "minLength": 1
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴orah_create_contact(student_id, student_sis_id, first_name, last_name, title, ...)

Create a contact (parent or guardian) for one student. Give the student's Orah id or SIS id. Orah route: POST /open-api/contact/create.

Input Schema

{
  "type": "object",
  "properties": {
    "student_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah id."
    },
    "student_sis_id": {
      "type": "string",
      "minLength": 1,
      "description": "SIS id from the school's student information system."
    },
    "first_name": {
      "type": "string",
      "minLength": 1
    },
    "last_name": {
      "type": "string",
      "minLength": 1
    },
    "title": {
      "description": "Formal title, e.g. Mr. or Mrs.",
      "type": "string"
    },
    "relationship": {
      "description": "Relationship to the student, e.g. Mother.",
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "mobile_number": {
      "type": "string"
    },
    "home_number": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "sis_id": {
      "type": "string"
    }
  },
  "required": [
    "first_name",
    "last_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴orah_update_contact(contact_id, contact_sis_id, student_id, student_sis_id, first_name, ...)

Update a contact's details. Give the contact's Orah id, or its SIS id together with the student's id or SIS id. Orah route: POST /open-api/contact/update.

Input Schema

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "contact_sis_id": {
      "type": "string",
      "minLength": 1
    },
    "student_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Orah id."
    },
    "student_sis_id": {
      "type": "string",
      "minLength": 1,
      "description": "SIS id from the school's student information system."
    },
    "first_name": {
      "type": "string",
      "minLength": 1
    },
    "last_name": {
      "type": "string",
      "minLength": 1
    },
    "title": {
      "description": "Formal title, e.g. Mr. or Mrs.",
      "type": "string"
    },
    "relationship": {
      "description": "Relationship to the student, e.g. Mother.",
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "mobile_number": {
      "type": "string"
    },
    "home_number": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "sis_id": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴orah_create_house(name, sis_id)

Create a house (a student grouping). Orah route: POST /open-api/house/create.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "sis_id": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴orah_update_house(house_id, house_sis_id, name, sis_id)

Rename a house or change its SIS id. Give the house's Orah id or SIS id. Orah route: POST /open-api/house/update.

Input Schema

{
  "type": "object",
  "properties": {
    "house_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "house_sis_id": {
      "type": "string",
      "minLength": 1
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "sis_id": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded25 tools