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 extended by role(s)
Returns a paginated collection of extended user details, limited to 1000 users per page.
Use the last user's ID as the marker
value to return the next set of results.
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. |
marker | integer | The user's ID to start at to return the next batch of data. Results will start with the next user in the result set. |
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/extended?base_role_ids={base_role_ids}?marker={integer}"
-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}");
// Request parameters
queryString["marker"] = "{integer}";
var uri = "https://api.sky.blackbaud.com/school/v1/users/extended?base_role_ids={base_role_ids}&" + 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/extended?base_role_ids={base_role_ids}");
builder.setParameter("marker", "{integer}");
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
"marker": "{integer}",
};
$.ajax({
url: "https://api.sky.blackbaud.com/school/v1/users/extended?base_role_ids={base_role_ids}&" + $.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/extended?base_role_ids={base_role_ids}";
NSArray* array = @[
// Request parameters
@"entities=true",
@"marker={integer}",
];
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/extended?base_role_ids={base_role_ids}');
$url = $request->getUrl();
$headers = array(
// Request headers
'Bb-Api-Subscription-Key' => '{subscription key}',
'Authorization' => 'Bearer {access token}',
);
$request->setHeader($headers);
$parameters = array(
// Request parameters
'marker' => '{integer}',
);
$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({
# Request parameters
'marker': '{integer}',
})
try:
conn = httplib.HTTPSConnection('api.sky.blackbaud.com')
conn.request("GET", "/school/v1/users/extended?base_role_ids={base_role_ids}&%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({
# Request parameters
'marker': '{integer}',
})
try:
conn = http.client.HTTPSConnection('api.sky.blackbaud.com')
conn.request("GET", "/school/v1/users/extended?base_role_ids={base_role_ids}&%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/extended?base_role_ids={base_role_ids}')
query = URI.encode_www_form({
# Request parameters
'marker' => '{integer}'
})
if query.length > 0
if uri.query && uri.query.length > 0
uri.query += '&' + query
else
uri.query = query
end
end
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