IIT Bombay InstiApp API — data model
The 37 object definitions the InstiApp API returns, lifted verbatim from the institution's own published specification and re-expressed as JSON Schema 2020-12. Derived, not authored: no property, type, requirement or description was added or changed. Operator: institution (gymkhana.iitb.ac.in, contact devcom@iitb.ac.in).
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/iit-bombay/main/json-schema/iit-bombay-instiapp-schemas.json",
"title": "IIT Bombay InstiApp API \u2014 data model",
"description": "The 37 object definitions the InstiApp API returns, lifted verbatim from the institution's own published specification and re-expressed as JSON Schema 2020-12. Derived, not authored: no property, type, requirement or description was added or changed. Operator: institution (gymkhana.iitb.ac.in, contact devcom@iitb.ac.in).",
"x-provenance": {
"generated": "2026-08-30",
"method": "derived",
"source": "openapi/iit-bombay-instiapp-api-openapi.yml",
"upstream": "https://gymkhana.iitb.ac.in/instiapp/api/docs/?format=openapi",
"x-operator": "institution"
},
"$defs": {
"BodySerializerMin": {
"required": [
"name"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"str_id": {
"title": "Str id",
"type": "string",
"readOnly": true,
"minLength": 1,
"nullable": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 50,
"minLength": 1
},
"short_description": {
"title": "Short description",
"type": "string",
"maxLength": 50
},
"website_url": {
"title": "Website url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"image_url": {
"title": "Image url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"cover_url": {
"title": "Cover url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"followers_count": {
"title": "Followers count",
"type": "string",
"readOnly": true
},
"short_name": {
"title": "Short name",
"type": "string",
"maxLength": 20,
"nullable": true
}
}
},
"UserProfile": {
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 50
},
"profile_pic": {
"title": "Profile pic",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"ldap_id": {
"title": "Ldap id",
"type": "string",
"maxLength": 50,
"nullable": true
}
}
},
"EventMin": {
"required": [
"name",
"start_time",
"end_time"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"str_id": {
"title": "Str id",
"type": "string",
"readOnly": true,
"minLength": 1,
"nullable": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 60,
"minLength": 1
},
"tags": {
"title": "Tags",
"type": "string",
"enum": [
"event",
"announcement"
],
"nullable": true
},
"image_url": {
"title": "Image url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"start_time": {
"title": "Start time",
"type": "string",
"format": "date-time"
},
"end_time": {
"title": "End time",
"type": "string",
"format": "date-time"
}
}
},
"AchievementUser": {
"required": [
"title"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"title": {
"title": "Title",
"type": "string",
"maxLength": 80,
"minLength": 1
},
"description": {
"title": "Description",
"type": "string"
},
"admin_note": {
"title": "Admin note",
"type": "string",
"nullable": true
},
"body_detail": {
"$ref": "#/$defs/BodySerializerMin"
},
"dismissed": {
"title": "Dismissed",
"type": "boolean"
},
"verified": {
"title": "Verified",
"type": "boolean"
},
"user": {
"$ref": "#/$defs/UserProfile"
},
"body": {
"title": "Body",
"type": "string",
"format": "uuid",
"nullable": true
},
"verified_by": {
"title": "Verified by",
"type": "string",
"format": "uuid",
"nullable": true
},
"event": {
"title": "Event",
"type": "string",
"format": "uuid",
"nullable": true
},
"event_detail": {
"$ref": "#/$defs/EventMin"
},
"offer": {
"title": "Offer",
"type": "string",
"format": "uuid",
"nullable": true
},
"isSkill": {
"title": "IsSkill",
"type": "boolean"
}
}
},
"OfferedAchievement": {
"required": [
"title",
"body",
"event"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"priority": {
"title": "Priority",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648
},
"title": {
"title": "Title",
"type": "string",
"maxLength": 80,
"minLength": 1
},
"description": {
"title": "Description",
"type": "string"
},
"body": {
"title": "Body",
"type": "string",
"format": "uuid"
},
"event": {
"title": "Event",
"type": "string",
"format": "uuid"
},
"generic": {
"title": "Generic",
"type": "string",
"maxLength": 20,
"minLength": 1
}
}
},
"SSOBans": {
"required": [
"banned_by",
"reason",
"duration_of_ban"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid"
},
"banned_by": {
"$ref": "#/$defs/UserProfile"
},
"time_of_creation": {
"title": "Time of creation",
"type": "string",
"format": "date-time",
"readOnly": true
},
"reason": {
"title": "Reason",
"type": "string",
"enum": [
"IDF",
"Buy&Sell",
"Graduated ",
"InstiBan"
]
},
"detailed_reason": {
"title": "Detailed reason",
"type": "string"
},
"duration_of_ban": {
"title": "Duration of ban",
"type": "string",
"enum": [
"1 month",
"3 months",
"6 months",
"12 months",
"Permanent"
]
},
"banned_user_ldapid": {
"title": "Banned user ldapid",
"type": "string",
"maxLength": 20,
"nullable": true
},
"banned_user": {
"title": "Banned user",
"type": "string",
"format": "uuid",
"nullable": true
}
}
},
"RoleSerializerMin": {
"required": [
"name",
"body"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 50,
"minLength": 1
},
"body": {
"title": "Body",
"type": "string",
"format": "uuid"
},
"users_detail": {
"type": "array",
"items": {
"$ref": "#/$defs/UserProfile"
},
"readOnly": true
},
"priority": {
"title": "Priority",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648
}
}
},
"Body": {
"required": [
"name"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"str_id": {
"title": "Str id",
"type": "string",
"readOnly": true,
"minLength": 1,
"nullable": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 50,
"minLength": 1
},
"short_description": {
"title": "Short description",
"type": "string",
"maxLength": 50
},
"description": {
"title": "Description",
"type": "string"
},
"image_url": {
"title": "Image url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"children": {
"title": "Children",
"type": "string",
"readOnly": true
},
"parents": {
"title": "Parents",
"type": "string",
"readOnly": true
},
"events": {
"title": "Events",
"type": "string",
"readOnly": true
},
"followers_count": {
"title": "Followers count",
"type": "integer",
"readOnly": true
},
"user_follows": {
"title": "User follows",
"type": "boolean",
"readOnly": true
},
"roles": {
"type": "array",
"items": {
"$ref": "#/$defs/RoleSerializerMin"
},
"readOnly": true
},
"website_url": {
"title": "Website url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"blog_url": {
"title": "Blog url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"cover_url": {
"title": "Cover url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"whatsapp_group_url": {
"title": "Whatsapp group url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"instagram_url": {
"title": "Instagram url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"photoalbum_urls": {
"title": "Photoalbum urls",
"type": "string",
"nullable": true
},
"short_name": {
"title": "Short name",
"type": "string",
"maxLength": 20,
"nullable": true
}
}
},
"BodyFollowers": {
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"followers": {
"type": "array",
"items": {
"$ref": "#/$defs/UserProfile"
},
"readOnly": true
}
}
},
"Product": {
"required": [
"name",
"contact_details"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"user": {
"$ref": "#/$defs/UserProfile"
},
"product_image": {
"title": "Product image",
"type": "string"
},
"str_id": {
"title": "Str id",
"type": "string",
"readOnly": true,
"minLength": 1,
"nullable": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 60,
"minLength": 1
},
"description": {
"title": "Description",
"type": "string"
},
"category": {
"title": "Category",
"type": "string",
"maxLength": 100,
"nullable": true
},
"brand": {
"title": "Brand",
"type": "string",
"maxLength": 60,
"nullable": true
},
"warranty": {
"title": "Warranty",
"type": "boolean",
"nullable": true
},
"packaging": {
"title": "Packaging",
"type": "boolean",
"nullable": true
},
"condition": {
"title": "Condition",
"type": "string",
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"
],
"nullable": true
},
"action": {
"title": "Action",
"type": "string",
"enum": [
"sell",
"giveaway",
"rent"
]
},
"status": {
"title": "Status",
"type": "boolean",
"nullable": true
},
"deleted": {
"title": "Deleted",
"type": "boolean",
"nullable": true
},
"price": {
"title": "Price",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648
},
"original_price": {
"title": "Original price",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648,
"nullable": true
},
"negotiable": {
"title": "Negotiable",
"type": "boolean"
},
"contact_details": {
"title": "Contact details",
"type": "string",
"maxLength": 300,
"minLength": 1
},
"time_of_creation": {
"title": "Time of creation",
"type": "string",
"format": "date-time",
"readOnly": true
},
"time_inactive": {
"title": "Time inactive",
"type": "string",
"format": "date-time",
"readOnly": true,
"nullable": true
},
"followers": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"uniqueItems": true
}
}
},
"CommunitySerializers": {
"required": [
"name",
"body"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"str_id": {
"title": "Str id",
"type": "string",
"readOnly": true,
"minLength": 1,
"nullable": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 100,
"minLength": 1
},
"about": {
"title": "About",
"type": "string",
"nullable": true
},
"description": {
"title": "Description",
"type": "string",
"nullable": true
},
"created_at": {
"title": "Created at",
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"title": "Updated at",
"type": "string",
"format": "date-time",
"readOnly": true
},
"cover_image": {
"title": "Cover image",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"logo_image": {
"title": "Logo image",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"followers_count": {
"title": "Followers count",
"type": "string",
"readOnly": true
},
"is_user_following": {
"title": "Is user following",
"type": "string",
"readOnly": true
},
"roles": {
"type": "array",
"items": {
"$ref": "#/$defs/RoleSerializerMin"
},
"readOnly": true
},
"posts": {
"title": "Posts",
"type": "string",
"readOnly": true
},
"body": {
"title": "Body",
"type": "string",
"format": "uuid"
},
"featured_posts": {
"title": "Featured posts",
"type": "string",
"readOnly": true
}
}
},
"CommunitySerializerMin": {
"required": [
"name",
"body"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"str_id": {
"title": "Str id",
"type": "string",
"readOnly": true,
"minLength": 1,
"nullable": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 100,
"minLength": 1
},
"about": {
"title": "About",
"type": "string",
"nullable": true
},
"cover_image": {
"title": "Cover image",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"logo_image": {
"title": "Logo image",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"followers_count": {
"title": "Followers count",
"type": "string",
"readOnly": true
},
"body": {
"title": "Body",
"type": "string",
"format": "uuid"
},
"is_user_following": {
"title": "Is user following",
"type": "string",
"readOnly": true
}
}
},
"Interest": {
"required": [
"title"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"title": {
"title": "Title",
"type": "string",
"maxLength": 80,
"minLength": 1
}
}
},
"CommunityPostSerializers": {
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"str_id": {
"title": "Str id",
"type": "string",
"readOnly": true,
"minLength": 1,
"nullable": true
},
"content": {
"title": "Content",
"type": "string",
"nullable": true
},
"posted_by": {
"title": "Posted by",
"type": "string",
"readOnly": true
},
"reactions_count": {
"title": "Reactions count",
"type": "string",
"readOnly": true
},
"user_reaction": {
"title": "User reaction",
"type": "string",
"readOnly": true
},
"comments_count": {
"title": "Comments count",
"type": "string",
"readOnly": true
},
"time_of_creation": {
"title": "Time of creation",
"type": "string",
"format": "date-time",
"readOnly": true
},
"time_of_modification": {
"title": "Time of modification",
"type": "string",
"format": "date-time",
"readOnly": true
},
"image_url": {
"title": "Image url",
"type": "string",
"readOnly": true
},
"comments": {
"title": "Comments",
"type": "string",
"readOnly": true
},
"thread_rank": {
"title": "Thread rank",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648,
"nullable": true
},
"community": {
"$ref": "#/$defs/CommunitySerializerMin"
},
"status": {
"title": "Status",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648,
"nullable": true
},
"tag_body": {
"type": "array",
"items": {
"$ref": "#/$defs/BodySerializerMin"
},
"readOnly": true
},
"tag_user": {
"type": "array",
"items": {
"$ref": "#/$defs/UserProfile"
},
"readOnly": true
},
"interests": {
"type": "array",
"items": {
"$ref": "#/$defs/Interest"
},
"readOnly": true
},
"featured": {
"title": "Featured",
"type": "boolean",
"nullable": true
},
"deleted": {
"title": "Deleted",
"type": "boolean",
"nullable": true
},
"anonymous": {
"title": "Anonymous",
"type": "boolean"
},
"reported_by": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"uniqueItems": true
}
}
},
"LocationSerializerMin": {
"required": [
"name"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 150,
"minLength": 1
},
"short_name": {
"title": "Short name",
"type": "string",
"maxLength": 80,
"nullable": true
},
"lat": {
"title": "Lat",
"type": "string",
"format": "decimal",
"nullable": true
},
"lng": {
"title": "Lng",
"type": "string",
"format": "decimal",
"nullable": true
}
}
},
"EventFull": {
"required": [
"name",
"verification_bodies_id",
"start_time",
"end_time",
"bodies_id",
"interests_id"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"str_id": {
"title": "Str id",
"type": "string",
"readOnly": true,
"minLength": 1,
"nullable": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 60,
"minLength": 1
},
"tags": {
"title": "Tags",
"type": "string",
"enum": [
"event",
"announcement"
],
"nullable": true
},
"description": {
"title": "Description",
"type": "string"
},
"email_subject": {
"title": "Email subject",
"type": "string",
"minLength": 1
},
"longdescription": {
"title": "Longdescription",
"type": "string",
"minLength": 1
},
"email_verified": {
"title": "Email verified",
"type": "boolean"
},
"email_rejected": {
"title": "Email rejected",
"type": "boolean"
},
"verification_bodies": {
"type": "array",
"items": {
"$ref": "#/$defs/BodySerializerMin"
},
"readOnly": true
},
"verification_bodies_id": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"uniqueItems": true
},
"image_url": {
"title": "Image url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"start_time": {
"title": "Start time",
"type": "string",
"format": "date-time"
},
"end_time": {
"title": "End time",
"type": "string",
"format": "date-time"
},
"all_day": {
"title": "All day",
"type": "boolean"
},
"venues": {
"type": "array",
"items": {
"$ref": "#/$defs/LocationSerializerMin"
},
"readOnly": true
},
"venue_room": {
"title": "Venue room",
"type": "string",
"nullable": true
},
"venue_names": {
"type": "array",
"items": {
"type": "string"
},
"readOnly": true,
"uniqueItems": true
},
"bodies": {
"type": "array",
"items": {
"$ref": "#/$defs/BodySerializerMin"
},
"readOnly": true
},
"bodies_id": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"uniqueItems": true
},
"interested_count": {
"title": "Interested count",
"type": "integer",
"readOnly": true
},
"going_count": {
"title": "Going count",
"type": "integer",
"readOnly": true
},
"interested": {
"title": "Interested",
"type": "string",
"readOnly": true
},
"going": {
"title": "Going",
"type": "string",
"readOnly": true
},
"venue_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"uniqueItems": true
},
"website_url": {
"title": "Website url",
"type": "string",
"format": "uri",
"maxLength": 200,
"nullable": true
},
"user_ues": {
"title": "User ues",
"type": "string",
"readOnly": true
},
"notify": {
"title": "Notify",
"type": "boolean"
},
"user_tags": {
"type": "array",
"items": {
"type": "integer"
},
"default": [],
"uniqueItems": true
},
"offered_achievements": {
"type": "array",
"items": {
"$ref": "#/$defs/OfferedAchievement"
},
"readOnly": true
},
"event_interest": {
"type": "array",
"items": {
"$ref": "#/$defs/Interest"
},
"readOnly": true
},
"interests_id": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"uniqueItems": true
},
"verification_status": {
"title": "Verification status",
"type": "string",
"readOnly": true,
"minLength": 1
},
"rejection_reason": {
"title": "Rejection reason",
"type": "string",
"default": ""
},
"time_of_creation": {
"title": "Time of creation",
"type": "string",
"format": "date-time",
"readOnly": true
}
}
},
"UserInterest": {
"required": [
"title"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid",
"readOnly": true
},
"title": {
"title": "Title",
"type": "string",
"maxLength": 80,
"minLength": 1
}
}
},
"ExtractedData": {
"type": "object",
"properties": {
"category": {
"title": "Category",
"type": "string",
"maxLength": 10
},
"role": {
"title": "Role",
"type": "string"
},
"domain": {
"title": "Domain",
"type": "string",
"maxLength": 200
},
"stipend": {
"title": "Stipend",
"type": "string",
"maxLength": 100
},
"eligibility": {
"title": "Eligibility",
"type": "string"
},
"deadline": {
"title": "Deadline",
"type": "string",
"format": "date-time",
"nullable": true
},
"shortlisted_rolls": {
"title": "Shortlisted rolls",
"type": "object",
"nullable": true
},
"event_date": {
"title": "Event date",
"type": "string",
"format": "date-time",
"nullable": true
},
"venue": {
"title": "Venue",
"type": "string",
"maxLength": 300
},
"reporting_time": {
"title": "Reporting time",
"type": "string",
"maxLength": 50
},
"interview_slots": {
"title": "Interview slots",
"type": "object",
"nullable": true
}
}
},
"BlogPost": {
"required": [
"id",
"post_type",
"raw_company_name",
"published",
"link",
"raw_content"
],
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string",
"format": "uuid"
},
"company_slug": {
"title": "Company slug",
"type": "string",
"readOnly": true
},
"post_type": {
"title": "Post type",
"type": "string",
"enum": [
"IAF_OPEN",
"TEST",
"TEST_SHORTLIST",
"TEST_UPDATE",
"ASSIGNMENT_DETAILS",
"ASSIGNMENT_SHORTLIST",
"MANDATORY_FORM",
"INTERVIEW_SHORTLIST",
"INTERVIEW_SCHEDULE",
"INTERVIEW_UPDATE",
"GD_SCHEDULE",
"GD_UPDATE",
"ROUND2_SHORTLIST",
"FINAL_SELECTION",
"OTHER"
]
},
"post_type_display": {
"title": "Post type display",
"type": "string",
"readOnly": true,
"minLength": 1
},
"raw_company_name": {
"title": "Raw company name",
"type": "string",
"maxLength": 200,
"minLength": 1
},
"published": {
"title": "Published",
"type": "string",
"format": "date-time"
},
"link": {
"title": "Link",
"type": "string",
"format": "uri",
"maxLength": 200,
# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/iit-bombay/refs/heads/main/json-schema/iit-bombay-instiapp-schemas.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/iit-bombay-instiapp-schemas"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.