The Export API allows for the accessing of Roompact data generated by institution users. The current version of the Export API is read-only; Roompact data cannot be modified in any way. The API is divided into resources, each accessible through a URL endpoint. All non-error request responses from this API are in JSON format. Resource-specific information and example responses are available later in this document.
This API is built around the concept of RESTful resources, with each URL endpoint representing a type of data object. It is hosted at https://api.roompact.com/, and currently on the first version. The basic HTTP request format is as follows:
GET https://api.roompact.com/v1/resource
See the sections below for pagination parameters and authentication headers that must be supplied with each request.
Responses from this API are paginated. This means that a single request will return a response containing a limited number of resource records along with metadata that will assist in paginating.
The basic format of each response is:
{
"data": [...],
"links": [
{
"rel": "next",
"uri": "https://api.roompact.com/v1/resource?cursor=aXbY24"
},
{ "rel": "first",
"uri": "https://api.roompact.com/v1/resource"
}
]
}
The data
field in this response contains resource-specific data as defined for each resource later in this document.
The links
field contains relative links that allow an API client to paginate through response data for the given resource. The rel
field defines the link relation type and the uri
field contains the link to the given page of content. Possible values for the rel
field include:
next
- The next page in the set of recordsprev
- The previous page in the set of recordsfirst
- The first page in the set of recordslast
- The final page in the set of recordsAPI authentication relies on a JSON Web Token (JWT) that will be issued to an API client by a Roompact technical contact. A JWT is a string that must be supplied with every request in an Authorization
header using the Bearer
schema. The specific header format is as follows:
Authorization: Bearer <JWT-String>
If the Authorization
header is not supplied or the JWT is invalid, the server will return a 401 error code, indicating the client is not authorized to access the resource.
If the token has been disabled for any reason (e.g. at the request of the API client), the server may return a JSON response containing a human-readable description of the error. An example of such an error response is as follows:
{
"error": {
"title": "Unauthorized",
"status": 401,
"description": "The token provided belongs to a client that has been deactivated"
}
}
This API may change in the future without an explicit version change. These changes will be considered non-breaking changes, and should not affect API clients consuming this API as a standard JSON API. Examples of future non-breaking changes may include:
This API supports the following resource endpoints.
The Events resource can be used to access event proposals from the Events module in Roompact.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"event_name": "Lunch Meet and Greet",
"event_publicity_plan": null,
"event_locations": [],
"event_categories": [],
"event_staff": [
{
"user_first_name": "Isabela",
"user_email": "izzypinto1983@example.com",
"user_phone": null,
"user_last_name": "Pinto",
"user_id": "DEJ1nG"
}
],
"event_description": "Have first year students get to know their floor mates!",
"event_budget_total": null,
"event_assessments": [],
"event_budget_breakdown": null,
"event_location_description": null,
"event_approval_status": "PENDING_APPROVAL",
"event_audience": null,
"event_end_date": "2018-11-14T13:00:00Z",
"event_outcomes": [],
"event_tasks": null,
"event_start_date": "2018-11-14T12:00:00Z",
"event_budget_total_currency": "USD",
"event_id": "7odOZr",
"event_author": {
"user_first_name": "Isabela",
"user_email": "izzypinto1983@example.com",
"user_phone": null,
"user_last_name": "Pinto",
"user_id": "DEJ1nG"
}
},
{
"event_name": "Exploring Student Activism through Social Media",
"event_publicity_plan": "We will post fliers and emailing students to help them discover this event",
"event_locations": [
{
"event_building_id": "bGEVqd",
"event_building_name": "Heather Hall",
"event_floor_name": null,
"event_floor_id": null
},
{
"event_building_id": "7mOeBy",
"event_building_name": "Lincoln Hall",
"event_floor_name": "3rd Floor",
"event_floor_id": "L38qEA"
}
],
"event_categories": [
{
"event_category_name": "Pizza Party",
"event_category_id": "qvN6eD",
"event_category_description": null
},
{
"event_category_name": "Round Table",
"event_category_id": "qvN6eD",
"event_category_description": "Discussions to share ideas and help each other learn"
}
],
"event_staff": [
{
"user_first_name": "Dorothy",
"user_email": "dorothybolt@example.com",
"user_phone": "407-555-3576",
"user_last_name": "Bolt",
"user_id": "mGma6w"
},
{
"user_first_name": "Lee",
"user_email": "leetsui102@example.com",
"user_phone": "413-555-6698",
"user_last_name": "Tsui",
"user_id": "QZlwPr"
}
],
"event_description": "An round table discussion about how students can make a positive impact online",
"event_budget_total": "50.00",
"event_assessments": [
{
"event_assessment_total_expenses": "52.10",
"event_assessment_total_expenses_currency": "USD",
"event_assessment_id": "xvQoJe",
"event_assessment_attendance": 14,
"event_assessment_suggestions": "Buy more pizza because we ran out!",
"event_assessment_date_created": "2018-11-12T16:42:13Z",
"event_assessment_user_id": "QZlwPr",
"event_assessment_outcome_evaluations": [
{
"event_outcome_id": "qvoOQk",
"event_outcome_evaluation_id": "7XBg18",
"event_outcome_evaluation_description": "All students created an outline of an effective social media campaign and a staff member critiqued it."
},
{
"event_outcome_id": "Mq0w62",
"event_outcome_evaluation_id": "LqA1q2",
"event_outcome_evaluation_description": "During the discussion, all students showed a deep understanding of constructive critisim."
}
]
},
{
"event_assessment_total_expenses": "52.10",
"event_assessment_total_expenses_currency": "USD",
"event_assessment_id": "xvQoJe",
"event_assessment_attendance": 14,
"event_assessment_suggestions": "To attain a higher attendance rate, next time we can invite students earlier.",
"event_assessment_date_created": "2018-11-12T18:12:48Z",
"event_assessment_user_id": "mGma6w",
"event_assessment_outcome_evaluations": [
{
"event_outcome_id": "qvoOQk",
"event_outcome_evaluation_id": "avXWKv",
"event_outcome_evaluation_description": "Each student discussed how they can better improve their social media activity."
},
{
"event_outcome_id": "Mq0w62",
"event_outcome_evaluation_id": "bYr2nE",
"event_outcome_evaluation_description": "Progress was made, but students' understanding is still not solidified."
}
]
}
],
"event_budget_breakdown": "We will be ordering pizza and providing juice for the discussion.",
"event_location_description": "Meet in the commons lounge by the couches.",
"event_approval_status": "COMPLETED",
"event_audience": "First and second year students with a passion for activism.",
"event_end_date": "2018-11-11T20:00:00Z",
"event_outcomes": [
{
"event_outcome_id": "qvoOQk",
"event_outcome_description": "Students will be able to design effective social media campaigns."
},
{
"event_outcome_id": "Mq0w62",
"event_outcome_description": "Students will be able to contrast the differences between constructive and non-constructive critisim."
}
],
"event_tasks": "Prepare the slides, buy the juice, order the pizza",
"event_start_date": "2018-11-11T18:00:00Z",
"event_budget_total_currency": "USD",
"event_id": "JqwKwBy",
"event_author": {
"user_first_name": "Dorothy",
"user_email": "dorothybolt@example.com",
"user_phone": "407-555-3576",
"user_last_name": "Bolt",
"user_id": "mGma6w"
}
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/events?cursor=JqwKwBy",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/events?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/events",
"rel": "first"
}
]
}
The Floors resource can be used to access floor data. Floors are a structural layer in Roompact, beneath Locations. Floors may contain Suites and Rooms.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"floor_id": "bGqNd7",
"floor_name": "3rd Floor",
"organization_name": "Roompact University",
"building_name": "Keller",
"organization_id": "AbGWbQ",
"building_id": "Lde3JA"
},
{
"floor_id": "47eqY7",
"floor_name": "9th Floor",
"organization_name": "Roompact University",
"building_name": "West Hall",
"organization_id": "AbGWbQ",
"building_id": "LJqEnb"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/floors?cursor=47eqY7",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/floors?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/floors",
"rel": "first"
}
]
}
The Forms resource can be used to access form data. Each object in the response list represents a single form submission along with the corresponding template data (e.g. list of fields found in the form). A form submission may have multiple revisions.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"form_template_revision_id": "6mKK06N",
"file_permission_group": "RESIDENT_ADVISOR",
"delete_permission_group": "HALL_DIRECTOR",
"edit_permission_group": "HALL_DIRECTOR",
"form_template_description": null,
"form_category_id": "oGRa9r",
"form_category_name": "Reports",
"view_permission_group": "RESIDENT_ADVISOR",
"current_revision": {
"author_id": "Ldnnp3",
"form_submission_revision_id": "P8VDlm",
"responses": [
{
"field_parameters": {
"question_type": "TEXT_INPUT"
},
"response_required": true,
"field_group_id": "JN9Jln",
"field_id": "M9D9AX",
"response": "Yes, a student was very distraught about finals week",
"section_id": "O0aMr8",
"field_description": null,
"field_order": 1,
"field_label": "Were there any major incidents to report this week?",
"field_group_replicable": false,
"section_label": null,
"group_order": 1,
"response_id": "al09wG"
},
{
"field_parameters": {
"question_type": "TEXT_AREA"
},
"response_required": false,
"field_group_id": "7eyrv9",
"field_id": "N5Z3aVn",
"response": "Not much happened this week! Everyone is getting ready to go home for the holidays.",
"section_id": "LlGkV5",
"field_description": "Please include any significant conversations that you had with residents this week",
"field_order": 1,
"field_label": "Describe your week",
"field_group_replicable": false,
"section_label": null,
"group_order": 2,
"response_id": "xaYmGg"
}
],
"date": "2018-11-25T16:31:34Z",
"author": "John Smith",
"author_is_original_submission_author": false
},
"form_category_description": null,
"form_template_id": "eNNA3z2",
"form_submission_id": "NvO9X6",
"previous_revisions": [
{
"author_id": "Ld9r1A",
"form_submission_revision_id": "0gQqNQ",
"responses": [
{
"field_parameters": {
"question_type": "TEXT_INPUT"
},
"response_required": true,
"field_group_id": "JN9Jln",
"field_id": "M9D9AX",
"response": "No",
"section_id": "O0aMr8",
"field_description": null,
"field_order": 1,
"field_label": "Were there any major incidents to report this week?",
"field_group_replicable": false,
"section_label": null,
"group_order": 1,
"response_id": "RoPKgd"
},
{
"field_parameters": {
"question_type": "TEXT_AREA"
},
"response_required": false,
"field_group_id": "7eyrv9",
"field_id": "N5Z3aVn",
"response": "Not much happened this week! Everyone is getting ready to go home for the holidays.",
"section_id": "LlGkV5",
"field_description": "Please include any significant conversations that you had with residents this week",
"field_order": 1,
"field_label": "Describe your week",
"field_group_replicable": false,
"section_label": null,
"group_order": 2,
"response_id": "bZ0M2q"
}
],
"date": "2018-11-26T22:31:34Z",
"author": "Karen Zavala",
"author_is_original_submission_author": true
}
],
"form_template_name": "Weekly Report"
},
{
"form_template_revision_id": "YmZpWa",
"file_permission_group": "RESIDENT_ADVISOR",
"delete_permission_group": "HALL_DIRECTOR",
"edit_permission_group": "HALL_DIRECTOR",
"form_template_description": "This form should be completed at the end of each duty shift. It provides summary descriptions of your rounds and any incidents that occurred or items of note.",
"form_category_id": "oGRa9r",
"form_category_name": "Reports",
"view_permission_group": "RESIDENT_ADVISOR",
"current_revision": {
"author_id": "QAMdlqZ",
"form_submission_revision_id": "vzy6X0",
"responses": [
{
"field_parameters": {
"question_type": "DATE"
},
"response_required": true,
"field_group_id": "v4yqmX1",
"field_id": "nDXdBWw",
"response": "2018-11-24",
"section_id": "d0QKJPA",
"field_description": null,
"field_order": 1,
"field_label": "Rounds Start Date:",
"field_group_replicable": true,
"section_label": null,
"group_order": 1,
"response_id": "vDwmpz"
},
{
"field_parameters": {
"question_type": "TAG",
"tag_options": [
{
"tag_option_type": "BUILDING"
},
{
"tag_option_type": "FLOOR"
},
{
"tag_option_type": "ROOM"
},
{
"tag_option_type": "SUITE"
}
]
},
"response_required": false,
"field_group_id": "pMd1VX",
"field_id": "nqe5N2",
"response": [
{
"tag_name": "Douglas Hall",
"tag_type": "FLOOR",
"tag_id": "BD5d50p"
}
],
"section_id": "OAvYDn6",
"field_description": null,
"field_order": 2,
"field_label": "Location",
"field_group_replicable": true,
"section_label": null,
"group_order": 1,
"response_id": "oPO2551"
},
{
"field_parameters": {
"question_type": "DROPDOWN",
"question_options": [
{
"option_id": "Ld29QZ",
"option": "Rounds"
},
{
"option_id": "ZZep34e",
"option": "Duty Notes"
},
{
"option_id": "xVRqRJ",
"option": "Maintenance Issue"
},
{
"option_id": "8vZ4gR",
"option": "Incident"
}
]
},
"response_required": false,
"field_group_id": "GDJNJW",
"field_id": "VWRMBmZ",
"response": [
{
"option_id": "Ld29QZ",
"option": "Rounds"
}
],
"section_id": "X3OO8q",
"field_description": null,
"field_order": 3,
"field_label": "Type",
"field_group_replicable": true,
"section_label": null,
"group_order": 1,
"response_id": "m2v120"
},
{
"field_parameters": {
"question_type": "TAG",
"tag_options": [
{
"custom_tag_set": "Incident Keywords",
"tag_option_type": "CUSTOM",
"custom_tag_options": [
{
"id": "0lNGkgr",
"description": null,
"label": "Alcohol/Drugs"
},
{
"id": "Y9jYrJG",
"description": null,
"label": "Unregistered Guest"
},
{
"id": "oGZnz1",
"description": null,
"label": "Noise"
},
{
"id": "P8pqwz",
"description": null,
"label": "Property Damage"
}
]
}
]
},
"response_required": false,
"field_group_id": "e2KJe4",
"field_id": "eN40eMz",
"response": [
{
"tag_name": "Noise",
"tag_type": "Custom",
"tag_id": "oGZnz1"
},
{
"tag_name": "Property Damage",
"tag_type": "Custom",
"tag_id": "P8pqwz"
}
],
"section_id": "QAjkJzZ",
"field_description": "Please add keyword(s) associated with the type of incident and/or issue.",
"field_order": 4,
"field_label": "Keywords",
"field_group_replicable": true,
"section_label": null,
"group_order": 1,
"response_id": "VrBKOj"
}
],
"date": "2018-11-28T19:48:57Z",
"author": "Cassidy Firestone",
"author_is_original_submission_author": true
},
"form_category_description": null,
"form_template_id": "E8JwVO",
"form_submission_id": "GBBQkR8",
"previous_revisions": [],
"form_template_name": "Duty Report"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/forms?cursor=GBBQkR8",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/forms?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/forms",
"rel": "first"
}
]
}
The Locations resource can be used to access location data. Locations are the largest structural layer in Roompact, usually representing buildings on campus. Locations may contain Floors, Suites, and Rooms.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"organization_name": "Roompact University",
"organization_id": "AbGWbQ",
"location_id": "Ldwkqb",
"location_name": "Smith Building"
},
{
"organization_name": "Roompact University",
"organization_id": "AbGWbQ",
"location_id": "7QzZGr",
"location_name": "Fulton Hall"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/locations?cursor=7QzZGr",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/locations?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/locations",
"rel": "first"
}
]
}
The Messages resource can be used to access messages that have been sent by staff to residents via the Message Center module. Each object in the response list represents a single batch of messages that have been sent, and describes whether the message has been sent by email, SMS, or both, the author of the message, and the recipients tagged in the message.
In the event that an area and not a resident has been tagged in a message (e.g. a building or a floor), all of the residents assigned to that area at the creation date of the message will have received a copy of that message. It is not possible to query which individual residents were recipients of such a message.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"message_type": "EmailMessage",
"message_target": [
{
"building_name": "Stevens Hall",
"building_id": "LlVoQB"
},
{
"room_name": "East Hall - 141",
"room_id": "xNmBn7"
}
],
"message_author": {
"user_first_name": "Joseph",
"user_email": "joeypalma54@example.com",
"user_phone": "516-555-0902",
"user_last_name": "Palma",
"user_id": "GeYZVW"
},
"message_id": "76kVlz",
"message_created": "2018-10-12T18:10:12Z",
"message": "Before the end of this week, remember to get those roommate agreements signed!"
},
{
"message_type": "TextMessage",
"message_target": [
{
"floor_id": "bYMqjG",
"floor_name": "McCormick Hall - 3rd Floor"
}
],
"message_author": {
"user_first_name": "Gustavo",
"user_email": "gustavogwyn@example.com",
"user_phone": "706-555-2035",
"user_last_name": "Gwyn",
"user_id": "269rym"
},
"message_id": "xNeXe2",
"message_created": "2018-10-31T12:12:18Z",
"message": "Have a safe and happy Halloween!"
},
{
"message_type": "TextAndEmailMessage",
"message_target": [
{
"user_first_name": "Anna",
"user_email": "annfarmer3@example.com",
"user_phone": null,
"user_last_name": "Farmer",
"user_id": "5Q1gdK"
}
],
"message_author": {
"user_first_name": "Wesley",
"user_email": "wescunningham4@example.com",
"user_phone": "602-555-5154",
"user_last_name": "Cunningham",
"user_id": "ojYdKYo"
},
"message_id": "bGZrN8",
"message_created": "2018-08-29T17:22:59Z",
"message": "Please see John when you have the chance."
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/messages?cursor=bGZrN8",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/messages?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/messages",
"rel": "first"
}
]
}
The Microsurvey Responses resource can be used to access microsurvey response data. Each object in the response list represents a single response from a resident. The Microsurveys endpoint can be used to access the list of Microsurveys that have been scheduled.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"microsurvey_response_response": "#Great",
"microsurvey_response_microsurvey_id": "yEQkvN",
"microsurvey_response_created": "2018-11-20T18:56:52Z",
"microsurvey_response_id": "NwNAOR",
"microsurvey_response_user": {
"user_first_name": "Lee",
"user_email": "leetsui102@example.com",
"user_phone": "413-555-6698",
"user_last_name": "Tsui",
"user_id": "QZlwPr"
}
},
{
"microsurvey_response_response": "#Chocolate Can't wait for the ice cream social!",
"microsurvey_response_microsurvey_id": "7K5GGb",
"microsurvey_response_created": "2018-11-22T13:28:52Z",
"microsurvey_response_id": "3wDa0v",
"microsurvey_response_user": {
"user_first_name": "Isabela",
"user_email": "izzypinto1983@example.com",
"user_phone": null,
"user_last_name": "Pinto",
"user_id": "DEJ1nG"
}
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/microsurvey_responses?cursor=3wDa0v",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/microsurvey_responses?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/microsurvey_responses",
"rel": "first"
}
]
}
The Microsurveys resource can be used to access microsurvey data. Each object in the response list represents a single microsurvey, including the name of the microsurvey, the questions it contains, the scope and locations the survey targets, and whether the survey has been fully sent. Microsurveys are sent in increments after the scheduled time, and may take several hours to finish sending. The Microsurvey Responses endpoint can be used to access responses to microsurveys.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"microsurvey_question_options": [
{
"microsurvey_option_id": "lDBBd5",
"microsurvey_option_description": null,
"microsurvey_option_key": "#great"
},
{
"microsurvey_option_id": "NvO0Xn",
"microsurvey_option_description": null,
"microsurvey_option_key": "#okay"
},
{
"microsurvey_option_id": "8En4lwv",
"microsurvey_option_description": null,
"microsurvey_option_key": "#bad"
}
],
"microsurvey_affect_room_status": true,
"microsurvey_type": "SMSType",
"microsurvey_completed": false,
"microsurvey_sent_message_count": null,
"microsurvey_location_restriction": [],
"microsurvey_question": "How are things going with your roommate?",
"microsurvey_scheduled_time": "2018-11-19T23:49:05Z",
"microsurvey_title": "Roommate Survey",
"microsurvey_id": "yEQkvN",
"microsurvey_author": {
"user_first_name": "Diane",
"user_email": "diane_howard1999@example.com",
"user_phone": null,
"user_last_name": "Howard",
"user_id": "z8NjZZ"
},
"microsurvey_scope": "ResidentsWithRoommatesScope"
},
{
"microsurvey_question_options": [
{
"microsurvey_option_id": "xMJznX",
"microsurvey_option_description": "Simple, but a classic!",
"microsurvey_option_key": "Vanilla"
},
{
"microsurvey_option_id": "djRRrA",
"microsurvey_option_description": "Rich and satisfying!",
"microsurvey_option_key": "Chocolate"
},
{
"microsurvey_option_id": "bPgZdx",
"microsurvey_option_description": "Fresh and tasty!",
"microsurvey_option_key": "Mint"
},
{
"microsurvey_option_id": "djmr6e",
"microsurvey_option_description": "Bold and sweet!",
"microsurvey_option_key": "Strawberry"
}
],
"microsurvey_affect_room_status": false,
"microsurvey_type": "EmailType",
"microsurvey_completed": true,
"microsurvey_sent_message_count": 318,
"microsurvey_location_restriction": [
{
"location_id": "e2qXRA",
"location_name": "James Hall"
},
{
"location_id": "5JJ8aYR",
"location_name": "West Suites"
}
],
"microsurvey_question": "Which flavor would you prefer for the ice cream social?",
"microsurvey_scheduled_time": "2018-11-18T12:12:56Z",
"microsurvey_title": null,
"microsurvey_id": "7K5GGb",
"microsurvey_author": {
"user_first_name": "Dorothy",
"user_email": "dorothybolt@example.com",
"user_phone": "407-555-3576",
"user_last_name": "Bolt",
"user_id": "mGma6w"
},
"microsurvey_scope": "AllResidentsScope"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/microsurveys?cursor=7K5GGb",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/microsurveys?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/microsurveys",
"rel": "first"
}
]
}
The Resident Messages resource can be used to access resident text message replies to messages sent by staff via the Message Center. Each object in the response list represents a single resident text message, and contains information about the author of the message, the content of the message, and what phone number the text message was sent from.
Since text message conversations are not threaded, and many staff members can send messages to a single resident, the Roompact system cannot create an association between outgoing text message and resident replies. As a result, this endpoint does not show the outgoing message that the resident is responding to. You can use the Messages endpoint to access the list of messages sent by staff to residents.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"phone_number": "8885554444",
"resident_message_id": "x4N40M",
"resident_name": "John Smyth",
"resident_id": "y10R8D",
"created_time": "2018-11-14T22:44:05Z",
"message": "I won't be able to attend the floor meeting tonight because my mom is visiting."
},
{
"phone_number": "888555777",
"resident_message_id": "xaBY2X",
"resident_name": "Jennifer Bridges",
"resident_id": "BjZNzv",
"created_time": "2018-10-22T19:07:05Z",
"message": "I think the A/C unit in my room is broken. Who can I contact to fix it?"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/resident_messages?cursor=xaBY2X",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/resident_messages?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/resident_messages",
"rel": "first"
}
]
}
The Residents resource can be used to access the list of resident accounts that are in the system. Each object in the response list represents a single resident account and and includes room assignment data.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"resident_room_id": "BL1n7e",
"resident_student_id": "A20281723",
"resident_building_id": "g76G0x",
"resident_unique_id": "jsmith",
"resident_last_name": "Smith",
"resident_floor_id": "yLdaq7",
"resident_first_name": "John",
"resident_assignments": [
{
"resident_assignment_floor_id": "yLdaq7",
"resident_assignment_room": "301",
"resident_assignment_room_id": "BL1n7e",
"resident_assignment_organization": "Roompact University",
"resident_assignment_suite_id": null,
"resident_assignment_building_id": "g76G0x",
"resident_assignment_end_date": null,
"resident_assignment_organization_id": "AbGWbQ",
"resident_assignment_floor": "3rd",
"resident_assignment_id": "b2QgQx",
"resident_assignment_suite": null,
"resident_assignment_building": "Munroe",
"resident_assignment_start_date": "2020-08-01"
},
{
"resident_assignment_floor_id": "BL19EL",
"resident_assignment_room": "250",
"resident_assignment_room_id": "G78pO7",
"resident_assignment_organization": "Roompact University",
"resident_assignment_suite_id": null,
"resident_assignment_building_id": "g76G0x",
"resident_assignment_end_date": "2020-05-21",
"resident_assignment_organization_id": "AbGWbQ",
"resident_assignment_floor": "2nd",
"resident_assignment_id": "LBRq1L",
"resident_assignment_suite": null,
"resident_assignment_building": "Munroe",
"resident_assignment_start_date": "2019-08-25"
}
],
"resident_id": "7r8G0b",
"resident_building": "Munroe",
"resident_organization": "Roompact University",
"resident_email": "jsmith@example.com",
"resident_phone": "123-555-1234",
"resident_organization_id": "AbGWbQ",
"resident_room": "301",
"resident_photo_url": "https://cdn.roompact.com/uploads/d673748e0bdab52629b2352155af93ef-example_avatar.jpg",
"resident_floor": "3rd"
},
{
"resident_room_id": "Vxv0L1",
"resident_student_id": "A20484298",
"resident_building_id": "7jgrJx",
"resident_unique_id": "srodgers2",
"resident_last_name": "Rodgers",
"resident_floor_id": "L10Anb",
"resident_first_name": "Sally",
"resident_assignments": [
{
"resident_assignment_floor_id": "L10Anb",
"resident_assignment_room": "210",
"resident_assignment_room_id": "Vxv0L1",
"resident_assignment_organization": "Roompact University",
"resident_assignment_suite_id": null,
"resident_assignment_building_id": "7jgrJx",
"resident_assignment_end_date": null,
"resident_assignment_organization_id": "AbGWbQ",
"resident_assignment_floor": "2nd",
"resident_assignment_id": "bnzm5b",
"resident_assignment_suite": null,
"resident_assignment_building": "Hopkins",
"resident_assignment_start_date": "2020-09-01"
}
],
"resident_id": "7K5GGb",
"resident_building": "Hopkins",
"resident_organization": "Roompact University",
"resident_email": "srodgers2@example.com",
"resident_phone": null,
"resident_organization_id": "AbGWbQ",
"resident_room": "210",
"resident_photo_url": "https://cdn.roompact.com/uploads/d673748e0bdab52629b2352155af93ef-example_avatar.jpg",
"resident_floor": "2nd"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/residents?cursor=7K5GGb",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/residents?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/residents",
"rel": "first"
}
]
}
The Room Statuses resource can be used to access room status data posted by staff. Each object in the response list represents a single room status, and contains information about the posting staff member, which room the status update is for, and a description and condition of the status.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"author_name": "Angelo Wilson",
"status_description": "The students have completed and signed their roommate agreement.",
"floor_name": "2nd Floor",
"building_name": "Allen Hall",
"room_name": "212",
"created_time": "2018-11-15T01:02:04Z",
"status_condition": "GREAT",
"room_status_id": "bORnox",
"suite_name": null
},
{
"author_name": "Wanda Hamilton",
"status_description": "These residents got in a big fight. Please look into this.",
"floor_name": "1st Floor",
"building_name": "Hedrick Hall",
"room_name": "120",
"created_time": "2018-11-14T23:01:25Z",
"status_condition": "BAD",
"room_status_id": "xNdzRL",
"suite_name": null
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/room_statuses?cursor=xNdzRL",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/room_statuses?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/room_statuses",
"rel": "first"
}
]
}
The Roommate Agreements resource can be used to access roommate agreement data in the system. Each object in the response list represents a single roommate agreement, and describes which room the agreement is for, which residents are bound by the agreement, whether each resident has signed the agreement, and the terms of the entire agreement.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"residents": [
{
"resident_name": "Patricia Kelly",
"resident_id": "bZ4aeq",
"signed_time": null,
"signed_agreement": false
},
{
"resident_name": "Jeanine Lawson",
"resident_id": "bErY5w",
"signed_time": "2018-08-20T14:29:12Z",
"signed_agreement": true
}
],
"floor_name": "6th Floor",
"building_name": "East Wing",
"agreement_terms": [
{
"required": true,
"term_id": "by524B",
"term_description": "Everyone will wash their own dishes after they are done with them."
},
{
"required": true,
"term_id": "7myWl7",
"term_description": "When someone is sleeping the other roommates will keep the noise at an appropriate level."
}
],
"room_name": "607",
"room_id": "bGEP6d",
"suite_name": null
},
{
"residents": [
{
"resident_name": "Ronny Kelly",
"resident_id": "7owygo",
"signed_time": "2018-08-16T20:49:34Z",
"signed_agreement": true
},
{
"resident_name": "Demien Lawson",
"resident_id": "bErY5w",
"signed_time": "2018-08-15T18:41:04Z",
"signed_agreement": true
}
],
"floor_name": "1st Floor",
"building_name": "Schnider Hall",
"agreement_terms": [
{
"required": true,
"term_id": "bGn1DE",
"term_description": "Mondays through Thursdays guests should leave by 12pm."
},
{
"required": true,
"term_id": "xv4dzL",
"term_description": "Each roommate has the right to live in a drug free environment."
},
{
"required": false,
"term_id": "bYjorG",
"term_description": "Will we split the cost of cleaning supplies? Yes."
},
{
"required": false,
"term_id": "Ldej3j",
"term_description": "List items that are off limits: Towels, food, clothes."
}
],
"room_name": "135",
"room_id": "76oy28",
"suite_name": null
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/roommate_agreements?cursor=76oy28",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/roommate_agreements?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/roommate_agreements",
"rel": "first"
}
]
}
The Rooms resource can be used to access room data. Rooms are the smallest structural layer in Roompact, beneath Locations, Floors, and optionally Suites.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"floor_id": "7oDd5x",
"floor_name": "1st Floor",
"organization_name": "Roompact University",
"building_name": "Corcoran Hall",
"organization_id": "AbGWbQ",
"building_id": "7RkJMx",
"room_name": "104",
"room_id": "7eNA2x"
},
{
"floor_id": "b0A1qL",
"floor_name": "6th Floor",
"organization_name": "Roompact University",
"building_name": "Forest Hall",
"organization_id": "AbGWbQ",
"building_id": "7XZmld",
"room_name": "615",
"room_id": "bgoZ1b"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/rooms?cursor=bgoZ1b",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/rooms?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/rooms",
"rel": "first"
}
]
}
The Shift Day Off Requests resource can be used to access shift day off request data from the Schedule module. Each object in the response list represents a single shift day off request in the system and and includes the user requesting the day off, the approval status, and if approved, the approving user.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"shift_day_off_request_id": "L5mBDv",
"shift_day_off_request_approved_status": true,
"shift_day_off_request_user": {
"user_first_name": "Dorothy",
"user_email": "dorothybolt@example.com",
"user_phone": "407-555-3576",
"user_last_name": "Bolt",
"user_id": "mGma6w"
},
"shift_day_off_request_date": "2018-09-16",
"shift_day_off_request_approving_user": {
"user_first_name": "Lee",
"user_email": "leetsui102@example.com",
"user_phone": "413-555-6698",
"user_last_name": "Tsui",
"user_id": "QZlwPr"
}
},
{
"shift_day_off_request_id": "ZyYzK4",
"shift_day_off_request_approved_status": false,
"shift_day_off_request_user": {
"user_first_name": "Isabela",
"user_email": "izzypinto1983@example.com",
"user_phone": null,
"user_last_name": "Pinto",
"user_id": "DEJ1nG"
},
"shift_day_off_request_date": "2018-10-31",
"shift_day_off_request_approving_user": null
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/shift_day_off_requests?cursor=ZyYzK4",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/shift_day_off_requests?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/shift_day_off_requests",
"rel": "first"
}
]
}
The Shift Signouts resource can be used to access shift signout from the Schedule module. Each object in the response list represents a single signout.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"shift_signout_id": "Q4vkYQ",
"shift_signout_user": {
"user_first_name": "Charles",
"user_email": "cfitch98@example.com",
"user_phone": "484-555-3283",
"user_last_name": "Fitch",
"user_id": "deGK39q"
},
"shift_signout_time": "2018-08-29T23:55:13Z"
},
{
"shift_signout_id": "qMWgpX",
"shift_signout_user": {
"user_first_name": "Concetta",
"user_email": "connovotny85@example.com",
"user_phone": null,
"user_last_name": "Novotny",
"user_id": "X3VJYq"
},
"shift_signout_time": "2018-09-02T01:02:46Z"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/shift_signouts?cursor=qMWgpX",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/shift_signouts?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/shift_signouts",
"rel": "first"
}
]
}
The Shifts resource can be used to access shift data from the Schedule module. Each object in the response list represents a single shift in the system and and includes a list of shift assignments, which describe which staff members are assigned to the shift.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"shift_date_start": "2018-11-16T00:00:00Z",
"shift_region": {
"shift_region_areas": [
{
"shift_floor_name": null,
"shift_floor_id": null,
"shift_building_id": "xVGAym",
"shift_building_name": "Thomas Hall"
},
{
"shift_floor_name": "2nd Floor",
"shift_floor_id": "RoqQJD",
"shift_building_id": "QZM9AQ",
"shift_building_name": "Dublin Hall"
}
],
"shift_region_name": "Douglas Hall",
"shift_region_require_trade_approvals": true,
"shift_region_id": "7rg0z1"
},
"shift_id": "byzAl6",
"shift_slots": 1,
"shift_date_is_all_day": true,
"shift_description": "Service Desk Shift",
"shift_assignments": [
{
"shift_assignment_created": "2018-11-06T14:31:19Z",
"shift_assignment_updated": "2018-11-06T14:31:19Z",
"shift_trade_requests": [
{
"shift_trade_request_approving_user": {
"user_first_name": "Wesley",
"user_email": "wescunningham4@example.com",
"user_phone": "602-555-5154",
"user_last_name": "Cunningham",
"user_id": "ojYdKYo"
},
"shift_trade_request_requested_time": "2018-11-10T19:00:38Z",
"shift_trade_request_id": "7mOBKy",
"shift_trade_request_accepted_time": "2018-11-11T12:27:53Z",
"shift_trade_request_approved_time": "2018-11-11T17:38:11Z",
"shift_trade_request_status": "COMPLETED",
"shift_trade_request_requesting_user": {
"user_first_name": "Anna",
"user_email": "annfarmer3@example.com",
"user_phone": null,
"user_last_name": "Farmer",
"user_id": "5Q1gdK"
},
"shift_trade_request_acceping_user": {
"user_first_name": "Gustavo",
"user_email": "gustavogwyn@example.com",
"user_phone": "706-555-2035",
"user_last_name": "Gwyn",
"user_id": "269rym"
}
}
],
"shift_assignment_user": {
"user_first_name": "Gustavo",
"user_email": "gustavogwyn@example.com",
"user_phone": "706-555-2035",
"user_last_name": "Gwyn",
"user_id": "269rym"
},
"shift_assignment_id": "L1MOp3"
}
],
"shift_date_end": null
},
{
"shift_date_start": "2018-11-16T15:25:59Z",
"shift_region": {
"shift_region_areas": [
{
"shift_floor_name": "1st Floor",
"shift_floor_id": "78BZzv",
"shift_building_id": "b2evJV",
"shift_building_name": "Weston Hall"
},
{
"shift_floor_name": "2nd Floor",
"shift_floor_id": "N1AYy2",
"shift_building_id": "b2evJV",
"shift_building_name": "Weston Hall"
}
],
"shift_region_name": "Seton Hall",
"shift_region_require_trade_approvals": false,
"shift_region_id": "x4N0GA"
},
"shift_id": "xN4j1L",
"shift_slots": 2,
"shift_date_is_all_day": false,
"shift_description": null,
"shift_assignments": [
{
"shift_assignment_created": "2018-11-01T10:21:42Z",
"shift_assignment_updated": "2018-11-01T10:42:42Z",
"shift_trade_requests": [
{
"shift_trade_request_approving_user": null,
"shift_trade_request_requested_time": "2018-10-12T21:12:11Z",
"shift_trade_request_id": "MgeYAW",
"shift_trade_request_accepted_time": null,
"shift_trade_request_approved_time": null,
"shift_trade_request_status": "COMPLETED",
"shift_trade_request_requesting_user": {
"user_first_name": "Diane",
"user_email": "diane_howard1999@example.com",
"user_phone": null,
"user_last_name": "Howard",
"user_id": "z8NjZZ"
},
"shift_trade_request_acceping_user": null
}
],
"shift_assignment_user": {
"user_first_name": "Joseph",
"user_email": "joeypalma54@example.com",
"user_phone": "516-555-0902",
"user_last_name": "Palma",
"user_id": "GeYZVW"
},
"shift_assignment_id": "7D2la4"
},
{
"shift_assignment_created": "2018-10-08T19:32:21Z",
"shift_assignment_updated": "2018-10-08T19:32:21Z",
"shift_trade_requests": [],
"shift_assignment_user": {
"user_first_name": "Concetta",
"user_email": "connovotny85@example.com",
"user_phone": null,
"user_last_name": "Novotny",
"user_id": "X3VJYq"
},
"shift_assignment_id": "L31r4a"
}
],
"shift_date_end": "2018-11-16T22:25:59Z"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/shifts?cursor=xN4j1L",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/shifts?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/shifts",
"rel": "first"
}
]
}
The Staff resource can be used to access the list of staff accounts in the system. Each object in the response list represents a single staff member and includes a list of staff assignments, or areas which the staff member is assigned to.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"staff_id": "27pMdx",
"staff_phone": "662-555-8494",
"staff_email": "ryoung@example.com",
"staff_last_name": "Young",
"staff_first_name": "Rosie",
"staff_assignments": [
{
"assignment_organization": "Roompact University",
"assignment_label": "Admin",
"assignment_organization_id": "AbGWbQ"
}
]
},
{
"staff_id": "7RJzpK",
"staff_phone": null,
"staff_email": "bclark@example.com",
"staff_last_name": "Clark",
"staff_first_name": "Byron",
"staff_assignments": [
{
"assignment_organization": "Roompact University",
"assignment_hall": "Pollock",
"assignment_hall_id": "b0A1qL",
"assignment_label": "HallDirector",
"assignment_organization_id": "AbGWbQ"
},
{
"assignment_organization": "Roompact University",
"assignment_hall": "Warner",
"assignment_floor_id": "bEQgab",
"assignment_floor": "10th Floor",
"assignment_hall_id": "xkw10x",
"assignment_label": "ResidentAdvisor",
"assignment_organization_id": "AbGWbQ"
}
]
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/staff?cursor=7RJzpK",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/staff?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/staff",
"rel": "first"
}
]
}
The Staff Notes resource can be used to access staff note data posted by staff. Each object in the response list represents a single staff note, and contains information about the author of the note, the content of the note, and what the note is associated with. Staff notes can be associated with residents, rooms, or suites.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"author_id": "7eBB2A",
"author_name": "Sarah Dixon",
"floor_name": "5th",
"staff_note_id": "L53nGx",
"resident_name": "Willard Wright",
"building_name": "Campus Hall",
"resident_id": "xVj4Aj",
"room_name": "500",
"created_time": "2018-11-14T22:44:45Z",
"message": "These students and I discussed visitation issues. We added new terms to their roommate agreement addressing this issue.",
"suite_name": null,
"tags": []
},
{
"author_id": "x4MvE1",
"author_name": "Monica Lester",
"floor_name": "1st",
"staff_note_id": "7K8ZRm",
"resident_name": "Loretta Rodriguez",
"building_name": "Hillside",
"resident_id": "6Ewqmd",
"room_name": "121",
"created_time": "2018-11-14T22:44:45Z",
"message": "I've talked with Loretta about having a sit down conversation with her roommate about their agreement.",
"suite_name": null,
"tags": []
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/staff_notes?cursor=7K8ZRm",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/staff_notes?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/staff_notes",
"rel": "first"
}
]
}
The Suites resource can be used to access suite data. Suites are an optional structural layer in Roompact, beneath Locations, Floors. Suites contain Rooms.
Headers: []
Supported content types are:
application/json
{
"data": [
{
"suite_id": "xaeEgx",
"floor_id": "76w5dx",
"floor_name": "2nd Floor",
"organization_name": "Roompact University",
"building_name": "Adams House",
"organization_id": "AbGWbQ",
"building_id": "LJqVnb",
"suite_name": "220 - 221"
},
{
"suite_id": "7D46N7",
"floor_id": "LlOgMb",
"floor_name": "4th Floor",
"organization_name": "Roompact University",
"building_name": "University Hall",
"organization_id": "AbGWbQ",
"building_id": "b02Yg7",
"suite_name": "400 - 401"
}
],
"links": [
{
"uri": "https://api.roompact.com/v1/suites?cursor=7D46N7",
"rel": "next"
},
{
"uri": "https://api.roompact.com/v1/suites?cursor=Ac3VJw",
"rel": "last"
},
{
"uri": "https://api.roompact.com/v1/suites",
"rel": "first"
}
]
}