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 user
Returns extended user details for the specified user_id
.
Requires the following role in the Education Management system:
- SKY API Data Sync
Request URL
Request parameters
Parameter | Required | Type | Description |
---|---|---|---|
user_id | Property is required | integer | The ID of the user. |
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
{
"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",
"cc_email_active": true,
"chat_service": "",
"citizenship": "Mexican",
"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",
"birth_date": "1998-05-02T12: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",
"boarding_or_day": "B",
"ethnicity": "",
"first_name": "John",
"gender": "",
"gender_description": "",
"pronouns": "",
"greeting": "",
"host_id": "",
"last_name": "Smith",
"last_sync_date": "2018-08-30T12:00:00Z",
"legacy_user_name": "",
"living_arrangement": "",
"lost": false,
"maiden_name": "",
"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
}
],
"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": "Johnny",
"profile_url": "https://sisacademy.myschoolapp.com.sf.bbk12.com/app#profile/1574389/contactcard",
"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": "",
"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",
"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
}
],
"global_id": 2
}
{
"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
},
"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
},
"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": "Returns true if deceased is selected under sensitive information in a personal profile ex: {last_name} {suffix*}, {first_name} {(maidenname*}) {grad_year*} *If not populated fields will not appear (read only)"
},
"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
},
"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
},
"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
},
"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
},
"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
},
"pronouns": {
"type": "string",
"description": "The pronouns of the user",
"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
},
"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)"
},
"maiden_name": {
"type": "string",
"description": "The maiden name of a user",
"nullable": true
},
"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
},
"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
},
"profile_url": {
"type": "string",
"description": "The profile url for a 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
},
"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
},
"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 user races",
"nullable": true
},
"global_id": {
"type": "integer",
"description": "Global id associated with user",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false,
"description": "UserExtended Model"
}
Code samples
@ECHO OFF
curl -v -X GET "https://api.sky.blackbaud.com/school/v1/users/extended/{user_id}"
-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/extended/{user_id}?" + 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/{user_id}");
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/extended/{user_id}?" + $.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/{user_id}";
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/extended/{user_id}');
$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/extended/{user_id}?%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/extended/{user_id}?%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/{user_id}')
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