School
This API is used to provide access to school information such as users, academics, admissions, athletics, content, lists, and general school info.
GET
Users changed by base role(s)
Returns a paginated collection of users that have been created or modified within the specified timeframe. The timeframe is from the start_date to the start_date plus seven days.
Requires the following role in the Education Management system:
- SKY API Data Sync
Request URL
Request parameters
Parameter | Required | Type | Description |
---|---|---|---|
base_role_ids | Property is required | string | Comma delimited list of base role IDs to get users for. |
start_date | Property is required | string | The date to begin looking for changes. Use ISO-8601 date format: 2003-04-21. |
Request headers
Header | Required | Type | Description |
---|---|---|---|
Bb-Api-Subscription-Key | Property is required | string | Subscription key which provides access to this API. Found in your Profile. |
Authorization | Property is required | string | OAuth 2.0 access token obtained from Blackbaud OAuth 2.0 Service. Supported grant types: Authorization code. |
Response 200 OK
Success
{
"count": 1,
"value": [
{
"id": 1,
"addresses": [
{
"id": 2315317,
"address_type": "Home",
"city": "Bedford",
"country": "United States",
"line_one": "493 Round Robin Drive",
"line_three": "",
"line_two": "",
"mailing_address": true,
"postal_code": "03110",
"primary": false,
"province": "",
"region": "",
"shared": false,
"state": "NH",
"type_id": 1495,
"user_id": 1801001
}
],
"abroad": false,
"affiliation": "AAA",
"audit_date": "2018-08-30T12:00:00Z",
"birth_date": "1998-05-02T12:00:00Z",
"birth_place": "",
"boarding_or_day": "B",
"cc_email_active": true,
"chat_service": "",
"citizenship": "Mexican",
"created_date": "1988-05-02T12:00:00Z",
"custom_field_eight": "",
"custom_field_five": "",
"custom_field_four": "",
"custom_field_nine": "",
"custom_field_one": "",
"custom_field_seven": "",
"custom_field_six": "",
"custom_field_ten": "",
"custom_field_three": "",
"custom_field_two": "",
"deceased": false,
"deceased_date": "2018-08-30T12:00:00Z",
"depart_date": "2018-08-30T12:00:00Z",
"display": "Holmes, Calvin (Cal) '18",
"education": [
{
"id": 674483,
"degree": "",
"field": "",
"grad_year": "1988",
"major": "Business",
"school": "Blackbaud University"
},
{
"id": 670792,
"degree": "",
"field": "",
"grad_year": "1978",
"major": "",
"school": "Oxford University"
}
],
"email": "example@example.com",
"cc_email": "ccEmail@example.com",
"email_active": true,
"enroll_date": "2018-08-30T12:00:00Z",
"ethnicity": "",
"first_name": "John",
"gender": "",
"gender_description": "",
"global_id": 2,
"greeting": "",
"host_id": "",
"home_languages": [
{
"home_language": "French"
},
{
"home_language": "English"
}
],
"is_latino_hispanic": true,
"is_international": false,
"is_responsible_signer": false,
"in_state": {
"resident": false,
"county": "",
"from_date": "2023-09-21T12:18:34Z"
},
"last_modified_date": "2008-05-02T12:00:00Z",
"last_name": "Smith",
"last_sync_date": "2018-08-30T12:00:00Z",
"legacy_user_name": "",
"living_arrangement": "",
"lost": false,
"locker": {
"number": "",
"combo": ""
},
"maiden_name": "",
"mailbox": {
"number": "",
"combo": ""
},
"middle_name": "Nolan",
"misc_bio": "",
"nick_name": "Jonny",
"occupations": [
{
"id": 1040150,
"begin_date": "2018-08-30T12:00:00Z",
"business_name": "ccdr",
"current": true,
"end_date": "2018-08-30T12:00:00Z",
"industry": "comp",
"job_function": "computer",
"matching_gift": false,
"organization": "abcv",
"parent_company": "ab",
"profession": "tech",
"specialty": "new",
"title": "Swimming Coach",
"url": "http://abc.com",
"user_id": 2828293,
"years_employed": 3
},
{
"id": 117377,
"begin_date": "2018-08-30T12:00:00Z",
"current": false,
"end_date": "2018-08-30T12:00:00Z",
"job_function": "",
"matching_gift": false,
"title": "Headmaster",
"user_id": 2828293
}
],
"passport": {
"number": "",
"expire_date": "2023-09-01T12:18:34Z"
},
"personal_bio": "",
"personal_website": "",
"phones": [
{
"id": 1221707,
"phone_type": "Home",
"index_id": 365520,
"links": [
{
"id": 2614,
"shared": false,
"shared_relationship": "",
"shared_user": "",
"type_id": "Home 2",
"user_id": 1801001
},
{
"id": 1712,
"shared": true,
"shared_relationship": "Child",
"shared_user": "June Abelle",
"type_id": "Home",
"user_id": 4969592
}
],
"number": "603-669-7896",
"type_id": 1712,
"user_id": 1574389
},
{
"id": 4660802,
"phone_type": "Work",
"index_id": 4112661,
"links": [],
"number": "555-777-9999",
"type_id": 2614,
"user_id": 2844867
}
],
"prefix": "Mr.",
"preferred_name": "Jonny",
"primary_language": "English",
"profile_photo": {
"photo_url": "",
"thumbnail_url": ""
},
"profile_url": "https://sisacademy.myschoolapp.com.sf.bbk12.com/app#profile/1574389/contactcard",
"pronouns": "",
"public_bio": "",
"races": [
{
"race_type_id": 9,
"description": "Black - African American",
"user_race_id": 102,
"user_id": 1801001
},
{
"race_type_id": 11,
"description": "White",
"user_race_id": 101,
"user_id": 1801001
}
],
"relationships": [
{
"comment": "Picks up student after school",
"contact": true,
"first_name": "Maura",
"last_name": "Smith",
"list_as_parent": true,
"parental_access": true,
"primary": false,
"relationship": 6,
"resides_with": true,
"show_parent": true,
"tuition_responsible_signer": true,
"type_id": 1,
"user_one_id": 1801001,
"user_one_role": "Child",
"user_two_id": 3552640
}
],
"religion": "",
"retire_date": "2018-08-30T12:00:00Z",
"roles": [
{
"id": 1,
"base_role_id": 14,
"hidden": false,
"name": "Student"
},
{
"id": 2,
"base_role_id": 15,
"hidden": false,
"name": "Teacher"
}
],
"screen_name": "",
"school_program": "",
"state_id": "",
"student_id": "12345",
"student_info": {
"grade_id": 0,
"grade_level_id": 1234,
"grad_year": "2018",
"grade_level": "12",
"grade_level_description": "Senior",
"grade_level_abbreviation": "12",
"grade_level_name": "12"
},
"suffix": "",
"username": "cholmes",
"visa": {
"number": "12345",
"status": {
"id": 123,
"description": "Expired"
},
"type": {
"id": 234,
"description": "Student"
},
"issue_date": "2023-08-12T12:18:34Z",
"expire_date": "2023-09-01T12:18:34Z"
}
}
]
}
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "The number of items in the collection",
"format": "int32",
"readOnly": true
},
"next_link": {
"type": "string",
"description": "For paginated responses, the URI for the next page of results",
"nullable": true
},
"value": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID associated with a user",
"format": "int32"
},
"addresses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of the address",
"format": "int32"
},
"address_type": {
"type": "string",
"description": "The 'Type' of the address",
"nullable": true
},
"city": {
"type": "string",
"description": "The city for the address",
"nullable": true
},
"country": {
"type": "string",
"description": "The country for the address",
"nullable": true
},
"line_one": {
"type": "string",
"description": "The first line of the address",
"nullable": true
},
"line_three": {
"type": "string",
"description": "The third line of the address",
"nullable": true
},
"line_two": {
"type": "string",
"description": "The second line of the address",
"nullable": true
},
"mailing_address": {
"type": "boolean",
"description": "Returns True if user accepts mail from the address"
},
"postal_code": {
"type": "string",
"description": "The postal code for the address",
"nullable": true
},
"primary": {
"type": "boolean",
"description": "Returns true if the address is primary"
},
"province": {
"type": "string",
"description": "The province for the address",
"nullable": true
},
"region": {
"type": "string",
"description": "The region for the address",
"nullable": true
},
"shared": {
"type": "boolean",
"description": "Returns true if the address is shared with other users"
},
"state": {
"type": "string",
"description": "The state for the address",
"nullable": true
},
"type_id": {
"type": "integer",
"description": "The type ID associated with an address that is based upon a user's primary relationship to the address",
"format": "int32",
"nullable": true
},
"user_id": {
"type": "integer",
"description": "The ID of the user of the address",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false,
"description": "AddressExRead Model"
},
"description": "List of the user addresses",
"nullable": true
},
"abroad": {
"type": "boolean",
"description": "Returns true if the current user is abroad"
},
"affiliation": {
"type": "string",
"description": "The affiliation in the user profile",
"nullable": true
},
"audit_date": {
"type": "string",
"description": "The audit date from a user profile; Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"birth_date": {
"type": "string",
"description": "The birth date in the user profile; Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"birth_place": {
"type": "string",
"description": "The birth place in the user profile",
"nullable": true
},
"boarding_or_day": {
"type": "string",
"description": "The 'Boarding Or Day' status of the user. 'B' for boarding and 'D' for day, or will be a blank string if not set.",
"nullable": true
},
"cc_email_active": {
"type": "boolean",
"description": "Returns true if the users carbon copy email is active"
},
"chat_service": {
"type": "string",
"description": "The chat service in the user profile",
"nullable": true
},
"citizenship": {
"type": "string",
"description": "The citizenship field in the user profile",
"nullable": true
},
"created_date": {
"type": "string",
"description": "The created date in the user profile",
"format": "date-time",
"nullable": true
},
"custom_field_eight": {
"type": "string",
"description": "A custom field on the user profile (eight of ten)",
"nullable": true
},
"custom_field_five": {
"type": "string",
"description": "A custom field on the user profile (five of ten)",
"nullable": true
},
"custom_field_four": {
"type": "string",
"description": "A custom field on the user profile (four of ten)",
"nullable": true
},
"custom_field_nine": {
"type": "string",
"description": "A custom field on the user profile (nine of ten)",
"nullable": true
},
"custom_field_one": {
"type": "string",
"description": "A custom feild on the user profile (one of ten)",
"nullable": true
},
"custom_field_seven": {
"type": "string",
"description": "A custom field on the user profile (seven of ten)",
"nullable": true
},
"custom_field_six": {
"type": "string",
"description": "A custom field on the user profile (six of ten)",
"nullable": true
},
"custom_field_ten": {
"type": "string",
"description": "A custom field on the user profile (ten of ten)",
"nullable": true
},
"custom_field_three": {
"type": "string",
"description": "A custom field on the user profile (three of ten)",
"nullable": true
},
"custom_field_two": {
"type": "string",
"description": "A custom field on the user profile (two of ten)",
"nullable": true
},
"deceased": {
"type": "boolean",
"description": "Set to true if the user is deceased. Allowed value: true, false. Defaults to false."
},
"deceased_date": {
"type": "string",
"description": "The deceased date in the user profile; Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"depart_date": {
"type": "string",
"description": "The depart date from a user profile; Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"display": {
"type": "string",
"description": "Display name field generated from first name, last name, preferred name, and grad year (read only)",
"nullable": true
},
"education": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of the education",
"format": "int32"
},
"degree": {
"type": "string",
"description": "The degree recieved",
"nullable": true
},
"field": {
"type": "string",
"description": "The field the major was received in",
"nullable": true
},
"grad_year": {
"type": "string",
"description": "The graduation year. ex. 2017",
"nullable": true
},
"major": {
"type": "string",
"description": "The major course(s) of study",
"nullable": true
},
"school": {
"type": "string",
"description": "The school name",
"nullable": true
},
"sort_order": {
"type": "integer",
"description": "The order the education appears in the UI",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false,
"description": "EducationRead Model"
},
"description": "List of the user educational institutions",
"nullable": true
},
"email": {
"type": "string",
"description": "The email address of a user",
"nullable": true
},
"cc_email": {
"type": "string",
"description": "The cc email address of a user",
"nullable": true
},
"email_active": {
"type": "boolean",
"description": "Returns true if the users e-mail is ok to send to"
},
"enroll_date": {
"type": "string",
"description": "The enroll date from a user profile. Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"ethnicity": {
"type": "string",
"description": "The ethnicity field from a user profile",
"nullable": true
},
"first_name": {
"type": "string",
"description": "The first name of a user",
"nullable": true
},
"gender": {
"type": "string",
"description": "The gender of the user",
"nullable": true
},
"gender_description": {
"type": "string",
"description": "The gender description of the user",
"nullable": true
},
"global_id": {
"type": "integer",
"description": "Global id associated with user",
"format": "int32",
"nullable": true
},
"greeting": {
"type": "string",
"description": "The greeting in the user profile",
"nullable": true
},
"host_id": {
"type": "string",
"description": "The hostId in the user profile",
"nullable": true
},
"home_languages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"home_language": {
"type": "string",
"description": "The home language in the user profile.",
"nullable": true
}
},
"additionalProperties": false,
"description": "User home language model"
},
"description": "List of user home languages",
"nullable": true
},
"is_latino_hispanic": {
"type": "boolean",
"description": "The islatinohispanic in the user profile"
},
"is_international": {
"type": "boolean",
"description": "The isinternational in the user profile"
},
"is_responsible_signer": {
"type": "boolean",
"description": "The isresponsiblesigner in the user profile"
},
"in_state": {
"type": "object",
"properties": {
"resident": {
"type": "boolean",
"description": "Set to true if user is an in state resident.",
"nullable": true
},
"county": {
"type": "string",
"description": "The county of residence of the user.",
"nullable": true
},
"from_date": {
"type": "string",
"description": "The date the user has resided in the county of residence. Use ISO-8601 date format: 2022-04-21.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "An object for in-state resident information"
},
"last_modified_date": {
"type": "string",
"description": "The last modified date in the user profile",
"format": "date-time",
"nullable": true
},
"last_name": {
"type": "string",
"description": "The last name of a user",
"nullable": true
},
"last_sync_date": {
"type": "string",
"description": "The last sync date of a user profile; Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"legacy_user_name": {
"type": "string",
"description": "The last sync date of a user profile",
"nullable": true
},
"living_arrangement": {
"type": "string",
"description": "The living arrangement in the user profile",
"nullable": true
},
"lost": {
"type": "boolean",
"description": "Returns true if lost is selected under sensitive information in a personal profile (read only)"
},
"locker": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "The locker number of the user.",
"nullable": true
},
"combo": {
"type": "string",
"description": "The locker combination of the user.",
"nullable": true
}
},
"additionalProperties": false,
"description": "An object for locker information"
},
"maiden_name": {
"type": "string",
"description": "The maiden name of a user",
"nullable": true
},
"mailbox": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "The mailbox number of the user.",
"nullable": true
},
"combo": {
"type": "string",
"description": "The mailbox combination of the user.",
"nullable": true
}
},
"additionalProperties": false,
"description": "An object for mailbox information"
},
"middle_name": {
"type": "string",
"description": "The middle name of a user",
"nullable": true
},
"misc_bio": {
"type": "string",
"description": "The misc bio from the user profile",
"nullable": true
},
"nick_name": {
"type": "string",
"description": "The nickname of a user\r\n<b>This field will be deprecated after 90 days.</b>",
"nullable": true
},
"occupations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of the occupation",
"format": "int32",
"nullable": true
},
"begin_date": {
"type": "string",
"description": "The begin date of the occupation; Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"business_name": {
"type": "string",
"description": "The business name",
"nullable": true
},
"current": {
"type": "boolean",
"description": "Returns True if the user is currently employed at the occupation"
},
"end_date": {
"type": "string",
"description": "The end date of the occupation; Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"industry": {
"type": "string",
"description": "The industry",
"nullable": true
},
"job_function": {
"type": "string",
"description": "The function of the job*",
"nullable": true
},
"matching_gift": {
"type": "boolean",
"description": "Returns True if the organization matches gifts"
},
"organization": {
"type": "string",
"description": "The organization",
"nullable": true
},
"parent_company": {
"type": "string",
"description": "The businesses' parent company",
"nullable": true
},
"profession": {
"type": "string",
"description": "The name of the profession",
"nullable": true
},
"specialty": {
"type": "string",
"description": "The specialization",
"nullable": true
},
"title": {
"type": "string",
"description": "The job title",
"nullable": true
},
"url": {
"type": "string",
"description": "The URL of the business",
"nullable": true
},
"user_id": {
"type": "integer",
"description": "The ID of the user that the occupation belongs to",
"format": "int32",
"nullable": true
},
"years_employed": {
"type": "integer",
"description": "The number of years employed",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false,
"description": "OccupationRead Model"
},
"description": "List of the users occupations",
"nullable": true
},
"passport": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "The passport number of the user.",
"nullable": true
},
"expire_date": {
"type": "string",
"description": "The passport expiry date. Use ISO-8601 date format: 2022-04-21.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "An object for passport information"
},
"personal_bio": {
"type": "string",
"description": "The personal bio from the user profile",
"nullable": true
},
"personal_website": {
"type": "string",
"description": "The personal website in the user profile",
"nullable": true
},
"phones": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of the phone number",
"format": "int32"
},
"phone_type": {
"type": "string",
"description": "The 'Type' of the phone number",
"nullable": true
},
"index_id": {
"type": "integer",
"description": "The Index ID of the phone number",
"format": "int32",
"nullable": true
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The type ID of a phone number; the type ID corresponds with the type of phone number (ex. Cell, Work, Home)",
"format": "int32",
"nullable": true
},
"shared": {
"type": "boolean",
"description": "Returns true if changes to a phone number are made to all users with a shared relationship (Read Only)"
},
"shared_relationship": {
"type": "string",
"description": "The relationship of the shared user",
"nullable": true
},
"shared_user": {
"type": "string",
"description": "The name of the shared user",
"nullable": true
},
"type_id": {
"type": "string",
"description": "The name of the type",
"nullable": true
},
"user_id": {
"type": "integer",
"description": "The ID of the user",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false,
"description": "PhoneTypeLink Model"
},
"description": "Returns each instance of a phone type for each relationship to the user",
"nullable": true
},
"number": {
"type": "string",
"description": "The phone number",
"nullable": true
},
"type_id": {
"type": "integer",
"description": "The type ID of a phone number; the type ID corresponds with the type of phone number (ex. Cell, Work, Home)",
"format": "int32",
"nullable": true
},
"user_id": {
"type": "integer",
"description": "The ID of the user the phone number belongs to",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false,
"description": "PhoneRead Model"
},
"description": "List of the user phone numbers",
"nullable": true
},
"prefix": {
"type": "string",
"description": "The prefix of a user",
"nullable": true
},
"preferred_name": {
"type": "string",
"description": "The preferred name of the user",
"nullable": true
},
"primary_language": {
"type": "string",
"description": "The primary language for the user profile.",
"nullable": true
},
"profile_photo": {
"type": "object",
"properties": {
"photo_url": {
"type": "string",
"description": "The photo url of the user.",
"nullable": true
},
"thumbnail_url": {
"type": "string",
"description": "The thumbnail url of the user.",
"nullable": true
}
},
"additionalProperties": false,
"description": "profile photo object"
},
"profile_url": {
"type": "string",
"description": "The profile url for a user profile",
"nullable": true
},
"pronouns": {
"type": "string",
"description": "The pronouns of the user.",
"nullable": true
},
"public_bio": {
"type": "string",
"description": "The public bio of the user.",
"nullable": true
},
"races": {
"type": "array",
"items": {
"type": "object",
"properties": {
"race_type_id": {
"type": "integer",
"description": "The ID of a race type",
"format": "int32"
},
"description": {
"type": "string",
"description": "The description of a race type",
"nullable": true
},
"user_race_id": {
"type": "integer",
"description": "The ID of user and race type association",
"format": "int32"
},
"user_id": {
"type": "integer",
"description": "The ID of the user who is associated to race type",
"format": "int32"
}
},
"additionalProperties": false,
"description": "RaceRead Model"
},
"description": "List of the races object for the user profile.",
"nullable": true
},
"relationships": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the relationship",
"nullable": true
},
"comment": {
"type": "string",
"description": "A comment describing the relationship",
"nullable": true
},
"contact": {
"type": "boolean",
"description": "Returns True if the user can be contacted. Returns False if the user is marked as 'No Contact' in the UI."
},
"first_name": {
"type": "string",
"description": "The first name of the user(s) associated with the queried user",
"nullable": true
},
"last_name": {
"type": "string",
"description": "The last name of the user(s) associated with the queried user",
"nullable": true
},
"list_as_parent": {
"type": "boolean",
"description": "Returns True if List as Parent is enabled in the UI for a user. If enabled, the user can be listed in directories as the student's parent"
},
"parental_access": {
"type": "boolean",
"description": "Returns True if Parental Access is enabled in the UI for a relationship type"
},
"primary": {
"type": "boolean",
"description": "Returns True if the user in a relationship is the primary user"
},
"relationship": {
"type": "integer",
"description": "The enum value that describes the relationship (ex. Parent_Child = 6)",
"format": "int32",
"nullable": true
},
"resides_with": {
"type": "boolean",
"description": "Returns True if Resides With is enabled in the UI. If enabled, then the user in a relationship resides with the queried user"
},
"show_parent": {
"type": "boolean",
"description": "Returns True if a parent's contact information is displayable in the directory"
},
"tuition_responsible_signer": {
"type": "boolean",
"description": "Returns True if Responsible Signer is enabled in the UI for a user. If enabled, it indicates the user signs enrollment contracts in onBoard"
},
"type_id": {
"type": "integer",
"description": "The ID of the relationship type. The ID corresponds with static options in the UI",
"format": "int32",
"nullable": true
},
"user_one_id": {
"type": "integer",
"description": "The ID of the user associated with user_two_id",
"format": "int32",
"nullable": true
},
"user_one_role": {
"type": "string",
"description": "The role of the user being queried",
"nullable": true
},
"user_two_id": {
"type": "integer",
"description": "The ID of the user associated with user_one_id",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false,
"description": "RelationshipRead Model"
},
"description": "List of the user relationships",
"nullable": true
},
"religion": {
"type": "string",
"description": "The religion field from a user profile",
"nullable": true
},
"retire_date": {
"type": "string",
"description": "The retire date in the user profile; Uses <a href=\"https://tools.ietf.org/html/rfc3339\" target=\"_blank\">ISO-8601</a> (24H) format: 2003-04-21T10:29:43",
"format": "date-time",
"nullable": true
},
"roles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of a role",
"format": "int32",
"nullable": true
},
"base_role_id": {
"type": "integer",
"description": "The ID used to associate roles with the original role; all roles are based upon preexisting base role IDs",
"format": "int32",
"nullable": true
},
"hidden": {
"type": "boolean",
"description": "Returns True if the role is hidden",
"nullable": true
},
"name": {
"type": "string",
"description": "The label used to identify a role",
"nullable": true
}
},
"additionalProperties": false,
"description": "Role Model"
},
"description": "List of the user roles",
"nullable": true
},
"screen_name": {
"type": "string",
"description": "The screen name in the user profile",
"nullable": true
},
"school_program": {
"type": "string",
"description": "The school program of the user",
"nullable": true
},
"state_id": {
"type": "string",
"description": "The state id of the user",
"nullable": true
},
"student_id": {
"type": "string",
"description": "Student ID",
"nullable": true
},
"student_info": {
"type": "object",
"properties": {
"grade_id": {
"type": "integer",
"description": "The Id of the Grade Level",
"format": "int32"
},
"grade_level_id": {
"type": "integer",
"description": "The Id of the Grade Level",
"format": "int32"
},
"grad_year": {
"type": "string",
"description": "The graduation year of the student",
"nullable": true
},
"grade_level": {
"type": "string",
"description": "The grade level of the student",
"nullable": true
},
"grade_level_description": {
"type": "string",
"description": "The grade level description of the student",
"nullable": true
},
"grade_level_abbreviation": {
"type": "string",
"description": "The grade level abbreviation of the student",
"nullable": true
},
"grade_level_name": {
"type": "string",
"description": "The grade level name of the student",
"nullable": true
}
},
"additionalProperties": false,
"description": "StudentInfo Model"
},
"suffix": {
"type": "string",
"description": "The suffix of a user",
"nullable": true
},
"username": {
"type": "string",
"description": "The username used to access the system",
"nullable": true
},
"visa": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "The number of the user visa.",
"nullable": true
},
"status": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "ID of the field",
"format": "int32"
},
"description": {
"type": "string",
"description": "Description of the field",
"nullable": true
}
},
"additionalProperties": false,
"description": ""
},
"type": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "ID of the field",
"format": "int32"
},
"description": {
"type": "string",
"description": "Description of the field",
"nullable": true
}
},
"additionalProperties": false,
"description": ""
},
"issue_date": {
"type": "string",
"description": "The issue date of the user visa.",
"format": "date-time",
"nullable": true
},
"expire_date": {
"type": "string",
"description": "The expire date of the user visa.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "An object for visa information"
}
},
"additionalProperties": false,
"description": "UserExtended Model"
},
"description": "The set of items included in the response. This may be a subset of the items in the collection",
"nullable": true
}
},
"additionalProperties": false,
"description": "A Collection"
}
Code samples
@ECHO OFF
curl -v -X GET "https://api.sky.blackbaud.com/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}"
-H "Bb-Api-Subscription-Key: {subscription key}"
-H "Authorization: Bearer {access token}"
--data-ascii "{body}"
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
namespace CSHttpClientSample
{
static class Program
{
static void Main()
{
MakeRequest();
Console.WriteLine("Hit ENTER to exit...");
Console.ReadLine();
}
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("Bb-Api-Subscription-Key", "{subscription key}");
client.DefaultRequestHeaders.Add("Authorization", "Bearer {access token}");
var uri = "https://api.sky.blackbaud.com/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}&" + queryString;
var response = await client.GetAsync(uri);
}
}
}
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class JavaSample
{
public static void main(String[] args)
{
HttpClient httpclient = HttpClients.createDefault();
try
{
URIBuilder builder = new URIBuilder("https://api.sky.blackbaud.com/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}");
URI uri = builder.build();
HttpGet request = new HttpGet(uri);
request.setHeader("Bb-Api-Subscription-Key", "{subscription key}");
request.setHeader("Authorization", "Bearer {access token}");
// Request body
StringEntity reqEntity = new StringEntity("{body}");
request.setEntity(reqEntity);
HttpResponse response = httpclient.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null)
{
System.out.println(EntityUtils.toString(entity));
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function() {
var params = {
// Request parameters
};
$.ajax({
url: "https://api.sky.blackbaud.com/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}&" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Bb-Api-Subscription-Key","{subscription key}");
xhrObj.setRequestHeader("Authorization","Bearer {access token}");
},
type: "GET",
// Request body
data: "{body}",
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString* path = @"https://api.sky.blackbaud.com/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}";
NSArray* array = @[
// Request parameters
@"entities=true",
];
NSString* string = [array componentsJoinedByString:@"&"];
path = [path stringByAppendingFormat:@"?%@", string];
NSLog(@"%@", path);
NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
[_request setHTTPMethod:@"GET"];
// Request headers
[_request setValue:@"{subscription key}" forHTTPHeaderField:@"Bb-Api-Subscription-Key"];
[_request setValue:@"Bearer {access token}" forHTTPHeaderField:@"Authorization"];
// Request body
[_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
NSURLResponse *response = nil;
NSError *error = nil;
NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];
if (nil != error)
{
NSLog(@"Error: %@", error);
}
else
{
NSError* error = nil;
NSMutableDictionary* json = nil;
NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
if (nil != _connectionData)
{
json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
}
if (error || !json)
{
NSLog(@"Could not parse loaded json with error:%@", error);
}
NSLog(@"%@", json);
_connectionData = nil;
}
[pool drain];
return 0;
}
<?php
// This sample uses the PEAR HTTP client from http://pear.php.net/package/HTTP_Request2
require_once 'HTTP/Request2.php';
$request = new Http_Request2('https://api.sky.blackbaud.com/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}');
$url = $request->getUrl();
$headers = array(
// Request headers
'Bb-Api-Subscription-Key' => '{subscription key}',
'Authorization' => 'Bearer {access token}',
);
$request->setHeader($headers);
$parameters = array(
// Request parameters
);
$url->setQueryVariables($parameters);
$request->setMethod(HTTP_Request2::METHOD_GET);
// Request body
$request->setBody("{body}");
try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}
?>
########### Python 2.7 #############
import httplib, urllib, base64
headers = {
# Request headers
'Bb-Api-Subscription-Key': '{subscription key}',
'Authorization': 'Bearer {access token}',
}
params = urllib.urlencode({
})
try:
conn = httplib.HTTPSConnection('api.sky.blackbaud.com')
conn.request("GET", "/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}&%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64
headers = {
# Request headers
'Bb-Api-Subscription-Key': '{subscription key}',
'Authorization': 'Bearer {access token}',
}
params = urllib.parse.urlencode({
})
try:
conn = http.client.HTTPSConnection('api.sky.blackbaud.com')
conn.request("GET", "/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}&%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
require 'net/http'
uri = URI('https://api.sky.blackbaud.com/school/v1/users/changed?base_role_ids={base_role_ids}&start_date={start_date}')
request = Net::HTTP::Get.new(uri.request_uri)
# Request headers
request['Bb-Api-Subscription-Key'] = '{subscription key}'
request['Authorization'] = 'Bearer {access token}'
# Request body
request.body = "{body}"
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body
Comments