« Back To Tech Docs

Customer API v2  |  Overview

The GradLeaders Customer API v2 is a set of RESTful methods, utilizing the four standard , , , and HTTP methods. These may only be accessed via port 443 (HTTPS)

Request and response bodies utilize the JSON format. As such, all requests must include the following header: content-type: application/json

GradLeaders issues each customer a unique API key, which is used in every request. In addition, GradLeaders maintains an IP whitelist so you will need to provide GradLeaders with a list of the IPs (single or wildcarded) that will be accessing the API.

All Date values are returned and should be specified using the ISO 8601 format: yyyy-MM-dd

All DateTime values are returned and should be specified using the ISO 8601 format (without timezone): yyyy-MM-ddTHH:mm:ss

All non-null date values must be between 1753-01-01 and 9999-12-31.

Customer API v2  |  Base URL

The GradLeaders support team will provide you with a Base URL specific to your school, which is necessary for accessing the API. This Base URL is typically in the following format:

  • https://mobile.gradleaders.com/[YourSchool]

This Base URL is used in combination with API-specific request paths. It is referenced in sample code variables as well all of the examples in this documentation.

Customer API v2  |  Example Code

GradLeaders provides a comprehensive set of API usage examples utilizing a free application titled Postman. Using our Postman Collection, it is possible to generate code snippets for dozens of different programming languages. In addition, our collection has pre-defined "BaseURL" and "IntegrationKey" collection variables, so you only have to modify these values once.

Customer API v2  |  Response Handling

Every API method returns an HTTP Status Code and a JSON "Success" boolean, based on whether or not the request succeeded. The following status codes are possible:

  • Status 200 - OK - indicates that the request was successful.
  • Status 400 - Bad Request - indicates that the request was a failure due to missing or invalid parameter data.
  • Status 403 - Forbidden - occurs when the IP does not match one from GradLeaders whitelist.
  • Status 404 - Not Found - occurs when the request supplies parameter information that is not found, such as an invalid API key.
  • Status 500 - Internal Error - indicates that an error occurred in the GradLeaders application while processing the request.

When the response is anything except an HTTP Status 200, the JSON will also return a String Array of "ErrorMessages" that describe the problem(s).

Example Success Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": ...
}

Example Failure Response

Status 400 - Bad Request
{
    "Success": false,
    "ErrorMessages": [
        "From Date is required.",
        "Through Date must be a value between 1753-01-01 and 9999-12-31."
    ]
}

Customer API v2  |  Custom Fields

Many of the API methods utilize a common "Custom Fields" structure. This is an object that contains any field used by your organization that isn't already represented in the common request/response structure. The "Custom Field" object structure varies by usage; please review the fields below to familiarize yourself with the differences.

Parameters

Name Data Description
FieldName String The name of the custom field. This is used to match against existing fields for a given entity.
DataType String Indicates the data type for the custom field. This parameter does not need to be sent to GradLeaders for any request - it is only used in responses. There are four possible values returned:
  • List
  • Text
  • Date
  • Numeric
FieldValues String Array A list of values. The data listed in this field varies depending on the API method. For "Get Custom Fields", it represents all of the possible values for List type. In all other methods, the values indicate the data to use in the filter/save operation.
IsStandardizedData Boolean Indicates if the custom field represents standardized data. This is returned in the "Get Custom Field" API methods when the URL parameter "PreferStandardizedData" is passed as "true". This parameter is only supported for read and filter operations. Unless you have a specific need to use the GradLeaders standard field names and values, this field isn't applicable and will not be returned in any API responses unless requested. Setting this field to true can cause unexpected data to be returned.

Validations

Field Name is not recognized.
List Value is not recognized.
Date Value is not parsable.
Numeric Value is not parsable.

Request Structure

{
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        },
        {
            "FieldName": "Example Date Question",
            "FieldValues": [ "2018-12-31T17:30:00" ]
        },
        {
            "FieldName": "Example Numeric Question",
            "FieldValues": [ "99.9" ]
        }
    ]
}

Response Structure

{
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        },
        {
            "FieldName": "Example Date Question",
            "DataType": "Date"
        },
        {
            "FieldName": "Example Numeric Question",
            "DataType": "Numeric"
        }
    ]
}

Customer API v2  |  Cross-Origin Resource Sharing (CORS)

Be aware that none of our APIs allow cross-domain requests. This means that you cannot call any API endpoint directly from front-end JavaScript code. More information on this topic can be found below.

Customer API v2  |  Differences From API v1

The GradLeaders v1 API is a SOAP-based service. The object models between v1 and v2 are almost exactly the same, except for a few minor changes. Below is a list of changes between v1 and v2 for the entire API interface:
  • Some v2 API methods use URL Parameters. This means any string values need to be URL Encoded if they contain spaces or characters reserved for URL behavior.
  • API methods are now RESTful and are no longer consumed via SOAP.
  • The "GetNew" and "GetModified" methods have been replaced with more robust functionality offered through two new API methods titled "Create Pagination" and "Fetch Page".
  • Fields named "GTSReadOnly_[FieldName]" have been changed to simply "[FieldName]".
  • The v1 API contained an "Overall Result" for every object, which was comprised of multiple values: SuccessfullyCreated, SuccessfullyUpdated, AlreadyExistsThereforeIgnored, or ValidationErrors. This has been simplified to a single "Success" boolean and a string array of "ErrorMessages".

Advising Appointments  |  Get Custom Fields

Returns a CustomField Array specific to this entity.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.

Example Request

/CustomerAPI/v2/AdvisingAppointments/GetCustomFields?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        }
    ]
}

Advising Appointments  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates and filtered.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body NewRecordsOnly Boolean Yes Indicates if results should be limited to only those records created within the specified time period.
Body Filters CustomField Array No Default: null. Filter criteria to use in limiting the set of data returned. Multiple values for a given field are treated as a match against any value.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/AdvisingAppointments/CreatePagination?IntegrationKey=
{
    "FromDate": "2018-09-01",
    "ThroughDate": "2018-12-31",
    "NewRecordsOnly": false,
    "Filters": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 100
    }
}

Advising Appointments  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/AdvisingAppointments/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1,
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "AdvisingAppointments": [
        {
            "Name": "Test Advising Appointment",
            "StartDateAndTime": "2018-10-13T13:30:00",
            "EndDateAndTime": "2018-10-13T13:45:00",
            "SignupStartDateAndTime": "2018-09-26T00:00:00",
            "SignupEndDateAndTime": "2018-10-10T13:00:00",
            "AdvisorEmailAddress": "someAdvisor@school.edu",
            "IsVisibleToCandidates": true,
            "AllowWaitlist": true,
            "Room": "Main Auditorium",
            "CustomFields": [
                {
                    "FieldName": "Example List Question",
                    "DataType": "List",
                    "FieldValues": [ "Green" ]
                },
                {
                    "FieldName": "Example Text Question",
                    "DataType": "Text",
                    "FieldValues": [ "Something" ]
                }
            ],
            "AdvisingAppointmentID": 99999,
            "CreatedDate": "2018-09-26T10:03:25",
            "CreatedBy": "Some Advisor",
            "UpdatedDate": "2018-10-12T07:42:23",
            "UpdatedBy": "Some Advisor"
        }
    ]
}

Advising Appointments  |  Assign Room

Updates the room for the specified record.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body AdvisingAppointmentID Integer Yes The record ID to update.
Body RoomName String Yes The name of the room.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Advising Appointment ID must be greater than zero.
Advising Appointment ID does not exist.
Room Name is an empty string; use null for no assignment or supply a value.
Room Name does not exist.

Example Request

/CustomerAPI/v2/AdvisingAppointments/AssignRoom?IntegrationKey=
{
    "AdvisingAppointmentID": 99999,
    "RoomName": "Main Auditorium"
}

Example Response

Status 200 - OK
{
    "Success": true
}

Advising Appointments  |  Reject Room Assignment

Updates the record such that no room is specified.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body AdvisingAppointmentID Integer Yes The record ID to update.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Advising Appointment ID must be greater than zero.
Advising Appointment ID does not exist.

Example Request

/CustomerAPI/v2/AdvisingAppointments/RejectRoomAssignment?IntegrationKey=
{
    "AdvisingAppointmentID": 99999
}

Example Response

Status 200 - OK
{
    "Success": true
}

Calendar Events  |  Get Calendar Events

Returns a list of calendar events for the specified parameters.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body EventTypes String Array Yes The types of events to return. Possible values:
  • Visit
  • CompanyEvent
  • Workshop
  • AdvisingAppointment
  • MockInterview
Body FromDate Date Yes The start date from which to return events; this is based on the event start date.
Body ThroughDate Date Yes The through date from which to return events; this is based on the event start date.
Body VisibleOnly Boolean No Default: false. Determines if only events that are flagged as Visible To Candidate should be returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
At least one Event Type is required.
From Date is required.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date is required.
Through Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be after From Date.
Date Range cannot exceed one month.

Example Request

/CustomerAPI/v2/CalendarEvents/GetCalendarEvents?IntegrationKey=
{
    "EventTypes": [
        "Visit",
        "CompanyEvent",
        "Workshop",
        "AdvisingAppointment",
        "MockInterview"
    ],
    "FromDate": "2018-10-01",
    "ThroughDate": "2018-11-01",
    "VisibleOnly": false
}

Example Response

Status 200 - OK
{
    "Success": true,
    "NumberOfRecords": 2,
    "CalendarEvents": [
        {
            "EventID": 99999,
            "EventType": "AdvisingAppointment",
            "EventTitle": "Test Advising Appointment",
            "EventStartDate": "2018-10-13T13:30:00",
            "EventEndDate": "2018-10-13T13:35:00",
            "SignupStartDate": "2018-09-26T00:00:00",
            "SignupEndDate": "2018-10-10T13:00:00",
            "Cancelled": false,
            "VisibleToCandidate": true,
            "ClassYears": "2nd Year",
            "Programs": "MBA, FTMBA",
            "ContactName": "Some Advisor",
            "ContactEmail": "someAdvisor@school.edu",
            "CreatedDate": "2018-09-26T10:03:25",
            "UpdatedDate": "2018-10-09T08:09:41"
        },
        {
            "EventID": 88888,
            "EventType": "Visit",
            "EventTitle": "Test Visit",
            "EventStartDate": "2018-10-18T08:00:00",
            "EventEndDate": "2018-10-18T10:00:00",
            "SignupStartDate": "2018-09-09T08:00:00",
            "SignupEndDate": "2018-09-12T08:00:00",
            "Cancelled": false,
            "VisibleToCandidate": true,
            "ClassYears": "2nd Year, 1st Year",
            "Programs": "MBA, EMBA",
            "ContactName": "Somebody",
            "ContactEmail": "somebody@school.edu",
            "CreatedDate": "2018-08-27T22:27:18",
            "UpdatedDate": "2018-10-04T13:59:03"
        }
    ]
}

Candidate Notes  |  Get Custom Fields

Returns a CustomField Array specific to this entity.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.

Example Request

/CustomerAPI/v2/CandidateNotes/GetCustomFields?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        }
    ]
}

Candidate Notes  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL IncludePrivateNotes Boolean No Default: false. Determines if notes marked as Private should be returned.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body Filters CustomField Array No Default: null. Filter criteria to use in limiting the set of data returned. Multiple values for a given field are treated as a match against any value.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/CandidateNotes/CreatePagination?IntegrationKey=&IncludePrivateNotes=
{
    "FromDate": "2018-10-01",
    "ThroughDate": "2018-12-31",
    "Filters": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 100
    }
}

Candidate Notes  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/CandidateNotes/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1,
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "CandidateNotes": [
        {
            "CandidateEmailAddress": "someCandidate@school.edu",
            "NoteCreatedByUserEmailAddress": "someAdvisor@school.edu",
            "NoteDate": "2018-10-12T08:35:00",
            "NoteTitle": "Counseling Note",
            "NoteText": "Met with Candidate for an ad-hoc counseling appointment.",
            "IsPrivate": true,
            "NoteID": 99999,
            "CandidateID": 99999,
            "CustomFields": [
                {
                    "FieldName": "Example List Question",
                    "DataType": "List",
                    "FieldValues": [ "Green" ]
                },
                {
                    "FieldName": "Example Text Question",
                    "DataType": "Text",
                    "FieldValues": [ "Something" ]
                }
            ]
        }
    ]
}

Candidate Notes  |  Add

Adds a new candidate note.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body CandidateEmailAddress String Yes The contact email address of the candidate to which the note is being added.
Body NoteCreatedByUserEmailAddress String Yes The user email address of the user who created the note.
Body NoteDate DateTime Yes The date and time the note was created.
Body NoteTitle String No Default: null. The title of the note.
Body NoteText String Yes The note text.
Body IsPrivate Boolean No Default: false. Indicates if the note is private and visible only to the creator.
Body CustomFields CustomField Array No Default: null. The custom field data for the note.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Candidate Email Address is required.
Candidate with Email Address does not exist.
Note Created By User Email Address is required.
Note Created By User with Email Address does not exist.
Note Date is required.
Note Date must be a value between 1753-01-01 and 9999-12-31.
Note Text is required.
Note cannot be created because it is a duplicate.
Custom Field/Value is not recognized.

Example Request

/CustomerAPI/v2/CandidateNotes/Add?IntegrationKey=
{
    "CandidateEmailAddress": "someCandidate@school.edu",
    "NoteCreatedByUserEmailAddress": "someAdvisor@school.edu",
    "NoteDate": "2018-10-13T17:30:00",
    "NoteTitle": "Ad-hoc Appointment",
    "NoteText": "Candidate stopped by my office for an ad-hoc appointment.",
    "IsPrivate": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "NoteID": 99999,
    "CandidateID": 99999
}

Candidates  |  Get PID Names

Returns a String array of PID Names that can used in subsequent Candidate-related API methods.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL Consumer String No The consumer name that filters which PIDs are returned by the API - usage of this parameter requires additional configuration with GradLeaders.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
There are no PIDs configured for access through the API - contact support.

Example Request

/CustomerAPI/v2/Candidates/GetPIDNames?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "PIDNames": [ "Class of 2019, First Year", "Class of 2018, Second Year", "Alumni" ]
}

Candidates  |  Get PIDs

Returns a array of Program IDs and Names that can used in subsequent Candidate-related API methods.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL Consumer String No The consumer name that filters which PIDs are returned by the API - usage of this parameter requires additional configuration with GradLeaders.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
There are no PIDs configured for access through the API - contact support.

Example Request

/CustomerAPI/v2/Candidates/GetPIDs?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "PIDs": [
        {
            "ID": 999,
            "Name": "Class of 2019, First Year"
        },
        {
            "ID": 888,
            "Name": "Class of 2018, Second Year"
        },
        {
            "ID": 777,
            "Name": "Alumni"
        }
    ]
}

Candidates  |  Get Custom Fields

Returns a CustomField Array specific to this entity.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL PIDName String Yes The name of the PID from the API method Get PID Names.
URL PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
PID Name is required.
PID Name refers to a value that is not found or is not active.

Example Request

/CustomerAPI/v2/Candidates/GetCustomFields?IntegrationKey=&PIDName=

Example Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        }
    ]
}

Candidates  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates and filtered.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body NewRecordsOnly Boolean Yes Indicates if results should be limited to only those records created within the specified time period.
Body IncludeArchivedRecords Boolean No Default: false. Indicates if results should include records that have been archived.
Body PIDName String Yes The name of the PID from the API method Get PID Names.
Body Filters CustomField Array No Default: null. Filter criteria to use in limiting the set of data returned. Multiple values for a given field are treated as a match against any value.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.
PID Name is required.
PID Name refers to a value that is not found or is not active.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Candidates/CreatePagination?IntegrationKey=
{
    "FromDate": "2018-09-01",
    "ThroughDate": "2018-12-31",
    "NewRecordsOnly": false,
    "PIDName": "Alumni",
    "Filters": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 100
    }
}

Candidates  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body IncludeArchivedRecords Boolean No Default: false. Indicates if results should include records that have been archived.
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Candidates/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1,
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "Candidates": [
        {
            "CandidateUsername": "TestACandidate",
            "CandidateEmailAddress": "TestACandidate@school.edu",
            "ContactEmailAddress": "TestACandidate@school.edu",
            "FirstName": "Test",
            "LastName": "Candidate",
            "MiddleName": "A",
            "PreferredName": "Johnny",
            "NamePrefix": "Mr.",
            "NameSuffix": "3rd",
            "PrimaryPhone": "555-555-0000",
            "SecondaryPhone": "555-555-1111",
            "MobilePhone": "555-555-2222",
            "FAXNumber": "555-555-3333",
            "AddressLine1": "1234 Main Street",
            "AddressLine2": "1st Floor",
            "AddressLine3": "Apartment 123",
            "City": "Hollywood",
            "State": "California",
            "PostalCode": "90210",
            "Country": "United States",
            "CustomFields": [
                {
                    "FieldName": "Example List Question",
                    "DataType": "List",
                    "FieldValues": [ "Green" ]
                },
                {
                    "FieldName": "Example Text Question",
                    "DataType": "Text",
                    "FieldValues": [ "Something" ]
                }
            ],
            "CandidateID": 88888,
            "ProfileID": 99999,
            "IsDefaultProfile": true,
            "ResumeBookStatus": "Approved",
            "CreatedDate": "2018-10-10T09:02:16",
            "CreatedBy": "Somebody",
            "UpdatedDate": "2018-10-10T09:06:42",
            "UpdatedBy": "Somebody"
        }
    ]
}

Candidates  |  Get Single Candidate

Retrieves a single candidate record.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PIDName String Yes The name of the PID from the API method Get PID Names.
Body Username String Yes The username of the candidate.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body IncludeArchivedRecords Boolean No Default: false. Indicates if results should include records that have been archived.
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
PID Name is required.
PID Name refers to a value that is not found or is not active.
Username is required.
No Candidate User was found by the supplied Username.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Candidates/GetSingleCandidate?IntegrationKey=
{
    "PIDName": "Alumni",
    "Username": "TestACandidate",
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Candidate": {
        "CandidateUsername": "TestACandidate",
        "CandidateEmailAddress": "TestACandidate@school.edu",
        "ContactEmailAddress": "TestACandidate@school.edu",
        "FirstName": "Test",
        "LastName": "Candidate",
        "MiddleName": "A",
        "PreferredName": "Johnny",
        "NamePrefix": "Mr.",
        "NameSuffix": "3rd",
        "PrimaryPhone": "555-555-0000",
        "SecondaryPhone": "555-555-1111",
        "MobilePhone": "555-555-2222",
        "FAXNumber": "555-555-3333",
        "AddressLine1": "1234 Main Street",
        "AddressLine2": "1st Floor",
        "AddressLine3": "Apartment 123",
        "City": "Hollywood",
        "State": "California",
        "PostalCode": "90210",
        "Country": "United States",
        "CustomFields": [
            {
                "FieldName": "Example List Question",
                "DataType": "List",
                "FieldValues": [ "Green" ]
            },
            {
                "FieldName": "Example Text Question",
                "DataType": "Text",
                "FieldValues": [ "Something" ]
            }
        ],
        "CandidateID": 88888,
        "ProfileID": 99999,
        "IsDefaultProfile": true,
        "ResumeBookStatus": "Approved",
        "CreatedDate": "2018-10-10T09:02:16",
        "CreatedBy": "Somebody",
        "UpdatedDate": "2018-10-10T09:06:42",
        "UpdatedBy": "Somebody"
    }
}

Candidates  |  Get Membership

Returns information about which PIDs a candidate is a member.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL Username String Yes The username of the candidate.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Username is required.
No User was found by the supplied Username.
Supplied Username does not have a Candidate record.

Example Request

/CustomerAPI/v2/Candidates/GetMembership?IntegrationKey=&Username=

Example Response

Status 200 - OK
{
    "Success": true,
    "Membership": [
        {
            "PIDName": "Alumni",
            "IsDefaultProfile": true,
            "CandidateID": 88888,
            "ProfileID": 99999
        },
        {
            "PIDName": "Class of 2018, Second Year",
            "IsDefaultProfile": false,
            "CandidateID": 88888,
            "ProfileID": 77777
        }
    ]
}

Candidates  |  Save

Adds or updates a candidate record. Update matching occurs based on the candidate "Username" field.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL UpdateIfExists Boolean Yes Determines if an existing candidate has their record overwritten with the supplied data.
URL PIDName String Yes The name of the PID from the API method Get PID Names.
Body CandidateUsername String Yes The username of the candidate. Also serves as the unique identifier for matching for updates.
Body CandidateEmailAddress String Yes The email address of the candidate.
Body ContactEmailAddress String No Default: same value as CandidateEmailAddress. This should only be used if there is a specific need for the multiple candidates to share the same contact email.
Body FirstName String No Default: null. The first name of the candidate
Body LastName String No Default: null. The last name of the candidate.
Body MiddleName String No Default: null. The middle name or initial of the candidate.
Body PreferredName String No Default: null. The preferred name of the candidate.
Body NamePrefix String No Default: null. The name prefix of the candidate, such as salutation.
Body NameSuffix String No Default: null. The name prefix of the candidate, such as "Jr".
Body PrimaryPhone String No Default: null. The primary phone number of the candidate.
Body SecondaryPhone String No Default: null. The secondary phone number of the candidate.
Body MobilePhone String No Default: null. The mobile phone number of the candidate.
Body FAXNumber String No Default: null. The FAX number of the candidate.
Body AddressLine1 String No Default: null. The first address line of the candidate.
Body AddressLine2 String No Default: null. The second address line of the candidate.
Body AddressLine3 String No Default: null. The third address line of the candidate.
Body City String No Default: null. The city of the candidate.
Body State String No Default: null. The state of the candidate.
Body PostalCode String No Default: null. The postal code of the candidate.
Body Country String No Default: null. The country of the candidate.
Body CustomFields CustomField Array No Default: null. The custom field data for the candidate.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
PID Name is required.
PID Name refers to a value that is not found or is not active.
Candidate Username is required.
Username does not meet the minimum length requirement.
Candidate Email Address is required.
Email Address is not valid/well-formed value.
Email Address is already in use by another account.
Cannot save data because the Candidate's default Profile is for a different PID.
Secondary Username is already in use by another account.
State is not a recognized value.
Country is not a recognized value.
Custom Field/Value is not recognized.

Example Request

/CustomerAPI/v2/Candidates/Save?IntegrationKey=&UpdateIfExists=&PIDName=
{
    "CandidateUsername": "TestACandidate",
    "CandidateEmailAddress": "TestACandidate@school.edu",
    "FirstName": "Test",
    "LastName": "Candidate",
    "MiddleName": "A",
    "PreferredName": "Johnny",
    "NamePrefix": "Mr.",
    "NameSuffix": "3rd",
    "PrimaryPhone": "555-555-0000",
    "SecondaryPhone": "555-555-1111",
    "MobilePhone": "555-555-2222",
    "FAXNumber": "555-555-3333",
    "AddressLine1": "1234 Main Street",
    "AddressLine2": "1st Floor",
    "AddressLine3": "Apartment 123",
    "City": "Hollywood",
    "State": "California",
    "PostalCode": "90210",
    "Country": "United States",
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Test" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Skipped": false,
    "CandidateID": 88888,
    "ProfileID": 99999
}

Candidates  |  Set Default Profile

Sets the default profile for a candidate.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body Username String Yes The username of the candidate.
Body DestinationPIDName String Yes The name of the PID from the API method Get PID Names.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Username is required.
No User was found by the supplied Username.
No Candidate was found by the supplied Username.
PID Name is required.
PID Name not found or is not active.
No Profile was found for the supplied Username.

Example Request

/CustomerAPI/v2/Candidates/SetDefaultProfile?IntegrationKey=
{
	"Username": "TestACandidate",
	"DestinationPIDName": "Alumni"
}

Example Response

Status 200 - OK
{
    "Success": true,
    "DefaultProfileID": 99999
}

Candidates  |  Copy Profile

Copies a candidate profile to a different PID.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body Username String Yes The username of the candidate.
Body SourcePIDName String Yes The source name of the PID from the API method Get PID Names.
Body DestinationPIDName String Yes The destination name of the PID from the API method Get PID Names.
Body CopyDefaultResume Boolean Yes Indicates whether or not the resume for the source profile is copied to the destination.
Body KeepCurrentResumeBookStatus Boolean Yes Indicates whether or not the source profile's Resume Book Status should be copied to the destination.
Body KeepCurrentOCRStatus Boolean Yes Indicates whether or not the source profile's On-Campus Recruiting Status should be copied to the destination.
Body KeepCurrentJobReportingStatus Boolean Yes Indicates whether or not the source profile's Employment Reporting Status should be copied to the destination.
Body OverwriteIfExists Boolean Yes Indicates whether or not the destination profile should be overwritten if it already exists.
Body SetAsProfileDefault Boolean Yes Indicates whether or not the destination profile will be the new default profile for this candidate.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Username is required.
No User was found by the supplied Username.
No Candidate was found by the supplied Username.
No Contact was found by the supplied Username.
Source PID Name is required.
Source PID Name not found or is not active.
No Profile was found for the supplied Source PID Name.
Destination PID Name is required.
Destination PID Name not found or is not active.
Source and Destination PIDs cannot be the same.

Example Request

/CustomerAPI/v2/Candidates/CopyProfile?IntegrationKey=
{
	"Username": "TestACandidate",
	"SourcePIDName": "Class of 2018, Second Year",
	"DestinationPIDName": "Alumni",
	"CopyDefaultResume": false,
	"KeepCurrentResumeBookStatus": false,
	"KeepCurrentOCRStatus": false,
	"KeepCurrentJobReportingStatus": false,
	"OverwriteIfExists": false,
	"SetAsProfileDefault": true
}

Example Response

Status 200 - OK
{
    "Success": true,
    "NewProfileID": 99999
}

Candidates  |  Move Profile

Moves a candidate profile to a different PID.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body Username String Yes The username of the candidate.
Body SourcePIDName String Yes The source name of the PID from the API method Get PID Names.
Body DestinationPIDName String Yes The destination name of the PID from the API method Get PID Names.
Body MoveDefaultResume Boolean Yes Indicates whether or not the resume for the source profile is moved to the destination.
Body KeepCurrentResumeBookStatus Boolean Yes Indicates whether or not the source profile's Resume Book Status should be copied to the destination.
Body KeepCurrentOCRStatus Boolean Yes Indicates whether or not the source profile's On-Campus Recruiting Status should be copied to the destination.
Body KeepCurrentJobReportingStatus Boolean Yes Indicates whether or not the source profile's Employment Reporting Status should be copied to the destination.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Username is required.
No User was found by the supplied Username.
No Candidate was found by the supplied Username.
No Contact was found by the supplied Username.
Source PID Name is required.
Source PID Name not found or is not active.
No Profile was found for the supplied Source PID Name.
Destination PID Name is required.
Destination PID Name not found or is not active.
Source and Destination PIDs cannot be the same.

Example Request

/CustomerAPI/v2/Candidates/MoveProfile?IntegrationKey=
{
	"Username": "TestACandidate",
	"SourcePIDName": "Class of 2018, Second Year",
	"DestinationPIDName": "Alumni",
	"MoveDefaultResume": false,
	"KeepCurrentResumeBookStatus": false,
	"KeepCurrentOCRStatus": false,
	"KeepCurrentJobReportingStatus": false
}

Example Response

Status 200 - OK
{
    "Success": true,
    "NewProfileID": 99999
}

Candidates  |  Change Username

Changes a candidate's username.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL CurrentUsername String Yes The current username of the candidate.
URL NewUsername String Yes The new username for the candidate.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Current Username is required.
No Candidate User was found by the supplied Current Username.
New Username is required.
New Username does not meet the minimum length requirement.
New Username is already in use by another account.

Example Request

/CustomerAPI/v2/Candidates/ChangeUsername?IntegrationKey=&CurrentUsername=&NewUsername=

Example Response

Status 200 - OK
{
    "Success": true
}

Candidates  |  Set Second Username

Changes a candidate's secondary username.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL Username String Yes The username of the candidate.
URL SecondUsername String Yes The secondary username for the candidate.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Second Username is not enabled for your school; please contact Support if you wish to use this functionality.
Username is required.
No Candidate User was found by the supplied Username.
Second Username is required.
Second Username does not meet the minimum length requirement.
Second Username is already in use by another account.

Example Request

/CustomerAPI/v2/Candidates/SetSecondUsername?IntegrationKey=&Username=&SecondUsername=

Example Response

Status 200 - OK
{
    "Success": true
}

Candidates  |  Set Photo

Uploads a photo for a candidate.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body Username String Yes The username of the candidate.
Body Base64EncodedFileBytes String No Default: null. This a Base64-encoded image file. When no value is supplied, any existing photo is removed. Using C#, this information can be translated using Convert.ToBase64String and Convert.FromBase64String.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Username is required.
No User was found by the supplied Username.
No Candidate User was found by the supplied Username.
Base64EncodedFileBytes is not a well-formed, Base64 encoded byte array.
Image type unrecognized, valid formats are: BMP, GIF, JPEG, PNG, or TIFF.
Image cannot be processed due to an unexpected error.

Example Request

/CustomerAPI/v2/Candidates/SetPhoto?IntegrationKey=
{
	"Username": "TestACandidate",
	"Base64EncodedFileBytes": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlPM0jRW/QAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII="
}

Example Response

Status 200 - OK
{
    "Success": true
}

Companies  |  Get Custom Fields

Returns a CustomField Array specific to this entity.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.

Example Request

/CustomerAPI/v2/Companies/GetCustomFields?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        }
    ]
}

Companies  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates and filtered.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body NewRecordsOnly Boolean Yes Indicates if results should be limited to only those records created within the specified time period.
Body Filters CustomField Array No Default: null. Filter criteria to use in limiting the set of data returned. Multiple values for a given field are treated as a match against any value.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Companies/CreatePagination?IntegrationKey=
{
    "FromDate": "2018-09-01",
    "ThroughDate": "2018-12-31",
    "NewRecordsOnly": false,
    "Filters": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 100
    }
}

Companies  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Companies/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1,
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "Companies": [
        {
            "CompanyName": "Awesome Company",
            "WebsiteURL": "https://www.awesomecompany.com",
            "Description": "This is an awesome company.",
            "AddressLine1": "1234 Main Street",
            "AddressLine2": "1st Floor",
            "AddressLine3": "Suite 123",
            "City": "Hollywood",
            "State": "California",
            "PostalCode": "90210",
            "Country": "United States",
            "Status": "Active",
            "AccountManagerEmailAddress": "accountManager@school.edu",
            "SearchFirm": true,
            "CustomFields": [
                {
                    "FieldName": "Example List Question",
                    "DataType": "List",
                    "FieldValues": [ "Green" ]
                },
                {
                    "FieldName": "Example Text Question",
                    "DataType": "Text",
                    "FieldValues": [ "Something" ]
                }
            ],
            "CompanyID": 99999,
            "CreatedDate": "2018-03-20T14:30:00",
            "CreatedBy": "Somebody",
            "UpdatedDate": "2018-03-30T12:24:40.147",
            "UpdatedBy": "Somebody"
        }
    ]
}

Companies  |  Save

Adds or updates a company record. Update matching occurs based on the "CompanyName" field.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL UpdateIfExists Boolean Yes Determines if an existing company has their record overwritten with the supplied data.
Body CompanyName String Yes The name of the company.
Body ParentCompanyName String No Default: null. The parent company name.
Body WebsiteURL String No Default: null. The website URL of the company.
Body Description String No Default: null. The description of the company.
Body AddressLine1 String No Default: null. The first address line of the company.
Body AddressLine2 String No Default: null. The second address line of the company.
Body AddressLine3 String No Default: null. The third address line of the company.
Body City String No Default: null. The city of the company.
Body State String No Default: null. The state of the company.
Body PostalCode String No Default: null. The postal code of the company.
Body Country String No Default: null. The country of the company.
Body Status String Yes The status of the company.
Body AccountManagerEmailAddress String No Default: null. The email address of the Account Manager for the company.
Body SearchFirm Boolean No Default: false. Indicates whether or not the company is a search firm.
Body CustomFields CustomField Array No Default: null. The custom field data for the company.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Company Name is required.
Parent Company Name does not exist.
Status is required.
State is not a recognized value.
Country is not a recognized value.
Account Manager email address does not exist.
Status is not a recognized value.
Custom Field/Value is not recognized.

Example Request

/CustomerAPI/v2/Companies/Save?IntegrationKey=&UpdateIfExists=
{
    "CompanyName": "Awesome Company",
    "ParentCompanyName": null,
    "WebsiteURL": "https://www.awesomecompany.com",
    "Description": "This is an awesome company.",
    "AddressLine1": "1234 Main Street",
    "AddressLine2": "1st Floor",
    "AddressLine3": "Suite 123",
    "City": "Hollywood",
    "State": "California",
    "PostalCode": "90210",
    "Country": "United States",
    "Status": "Active",
    "AccountManagerEmailAddress": "accountManager@school.edu",
    "SearchFirm": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Test" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Skipped": false,
    "CompanyID": 99999
}

Company Events  |  Get Custom Fields

Returns a CustomField Array specific to this entity.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL EventType String Yes Indicates what type of event to use, possible values:
  • Single
  • Multiple
URL PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Event Type must be specified as either 'Single' or 'Multiple'.

Example Request

/CustomerAPI/v2/CompanyEvents/GetCustomFields?IntegrationKey=&EventType=

Example Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        }
    ]
}

Company Events  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates and filtered.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body NewRecordsOnly Boolean Yes Indicates if results should be limited to only those records created within the specified time period.
Body EventType String Yes Indicates what type of event to use, possible values:
  • Single
  • Multiple
Body Filters CustomField Array No Default: null. Filter criteria to use in limiting the set of data returned. Multiple values for a given field are treated as a match against any value.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.
Event Type must be specified as either 'Single' or 'Multiple'.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/CompanyEvents/CreatePagination?IntegrationKey=
{
    "FromDate": "2018-09-01",
    "ThroughDate": "2018-12-31",
    "NewRecordsOnly": false,
    "EventType": "Single",
    "Filters": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 100
    }
}

Company Events  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body EventType String Yes Indicates what type of event to use, possible values:
  • Single
  • Multiple
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.
Event Type must be specified as either 'Single' or 'Multiple'.
Custom Field is not recognized.

Example Request

}/CustomerAPI/v2/CompanyEvents/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1,
    "EventType": "Single",
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "CompanyEvents": [
        {
            "EventType": "Single",
            "EventName": "Meet and Greet: Awesome Company",
            "StartDateAndTime": "2018-10-24T09:00:00",
            "EndDateAndTime": "2018-10-24T10:30:00",
            "SignupStartDateAndTime": "2018-06-29T00:00:00",
            "SignupEndDateAndTime": "2018-10-23T23:59:00",
            "IsVisibleToCandidates": true,
            "IsVisibleToEmployers": true,
            "IsSignupRequired": true,
            "Room": "Main Auditorium",
            "CustomFields": [
                {
                    "FieldName": "Example List Question",
                    "DataType": "List",
                    "FieldValues": [ "Green" ]
                },
                {
                    "FieldName": "Example Text Question",
                    "DataType": "Text",
                    "FieldValues": [ "Something" ]
                }
            ],
            "CompanyEventID": 99999,
            "RecruiterID": 99999,
            "CompanyID": 99999,
            "IsCancelled": true,
            "CancelledDate": "2018-10-01T08:50:09",
            "CreatedDate": "2016-06-29T08:50:09",
            "CreatedBy": "Somebody",
            "UpdatedDate": "2018-10-10T15:51:28",
            "UpdatedBy": "Somebody"
        }
    ]
}

Company Events  |  Assign Date and Room

Updates the date and room for the specified record.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body CompanyEventID Integer Yes The record ID to update.
Body StartDateAndTime DateTime Yes The start date and time of the event.
Body EndDateAndTime DateTime Yes The end date and time of the event.
Body RoomName String Yes The name of the room.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Company Event ID must be greater than zero.
Company Event ID does not exist.
Start Date and Time is required.
Start Date and Time must be a value between 1753-01-01 and 9999-12-31.
End Date and Time is required.
End Date and Time must be a value between 1753-01-01 and 9999-12-31.
End Date and Time must be a value greater than Start Date and Time.
Room Name is an empty string; use null for no assignment or supply a value.
Room Name does not exist.

Example Request

/CustomerAPI/v2/CompanyEvents/AssignDateAndRoom?IntegrationKey=
{
    "CompanyEventID": 99999,
    "StartDateAndTime": "2018-10-24T09:00:00",
    "EndDateAndTime": "2018-10-24T10:30:00",
    "RoomName": "Main Auditorium"
}

Example Response

Status 200 - OK
{
    "Success": true
}

Company Events  |  Assign Room

Updates the room for the specified record.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body CompanyEventID Integer Yes The record ID to update.
Body RoomName String Yes The name of the room.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Company Event ID must be greater than zero.
Company Event ID does not exist.
Room Name is an empty string; use null for no assignment or supply a value.
Room Name does not exist.

Example Request

/CustomerAPI/v2/CompanyEvents/AssignRoom?IntegrationKey=
{
    "CompanyEventID": 99999,
    "RoomName": "Main Auditorium"
}

Example Response

Status 200 - OK
{
    "Success": true
}

Company Events  |  Reject Room Assignment

Updates the record such that no room is specified.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body CompanyEventID Integer Yes The record ID to update.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Company Event ID must be greater than zero.
Company Event ID does not exist.

Example Request

/CustomerAPI/v2/CompanyEvents/RejectRoomAssignment?IntegrationKey=
{
    "CompanyEventID": 99999
}

Example Response

Status 200 - OK
{
    "Success": true
}

Job Postings  |  Get Custom Fields

Returns a CustomField Array specific to this entity.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.

Example Request

/CustomerAPI/v2/JobPostings/GetCustomFields?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        }
    ]
}

Job Postings  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates and filtered.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body NewRecordsOnly Boolean Yes Indicates if results should be limited to only those records created within the specified time period.
Body Filters CustomField Array No Default: null. Filter criteria to use in limiting the set of data returned. Multiple values for a given field are treated as a match against any value.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/JobPostings/CreatePagination?IntegrationKey=
{
    "FromDate": "2018-09-01",
    "ThroughDate": "2018-12-31",
    "NewRecordsOnly": false,
    "Filters": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 100
    }
}

Job Postings  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/JobPostings/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1,
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "JobPostings": [
        {
            "PrimaryContactRecruiterEmailAddress": "recruiter@awesomecompany.com",
            "PostingDate": "2018-10-15T17:30:00",
            "JobTitle": "Account Development Manager",
            "JobDescription": "Account Development Manager Job Responsibilities:\nDevelops new business by analyzing account potential; initiating, developing, and 
                closing sales; recommending new applications and sales strategies.\n \nAccount Development Manager Job Duties:\nIdentifies development potential in 
                accounts by studying current business; interviewing key customer personnel and company personnel who have worked with customer; identifying and 
                evaluating additional needs; analyzing opportunities.\nInitiates sales process by building relationships; qualifying potential; scheduling 
                appointments.",
            "OrganizationName": "Awesome Company",
            "OrganizationWebsite": "http://www.awesomecompany.com",
            "OrganizationDescription": "Awesome Company is awesome.",
            "JobQualifications": "ClientBase, Establishes Partnerships/Alliances, Prospecting Skills, Meeting Sales Goals, Foster Teamwork, Planning, 
                Building Relationships, People Skills, Initiative, Customer Focus, Emphasizing Excellence",
            "JobRequisition": "A1B2C3",
            "ApplyInstructions": "Go to the website and fill out the application form.",
            "ApplicationMethods": [ "Resume Drop", "Email", "Website" ],
            "ApplyWebsite": "http://www.awesomecompany.com/apply",
            "ApplyEmail": "jobs@awesomecompany.com",
            "ShareJobContactInfoWithCandidates": true,
            "JobContactName": "Some Recruiter",
            "JobContactTitle": "Recruiting Manager",
            "JobContactEmail": "jobs@awesomecompany.com",
            "JobContactPhone": "555-555-1111",
            "JobContactFAX": "555-555-2222",
            "JobContactAddressLine1": "1234 Main Street",
            "JobContactAddressLine2": "1st Floor",
            "JobContactAddressLine3": "Suite A",
            "JobContactCity": "Hollywood",
            "JobContactState": "California",
            "JobContactCountry": "United States",
            "JobContactPostalCode": "90210",
            "CustomFields": [
                {
                    "FieldName": "Example List Question",
                    "DataType": "List",
                    "FieldValues": [ "Green" ]
                },
                {
                    "FieldName": "Example Text Question",
                    "DataType": "Text",
                    "FieldValues": [ "Something" ]
                }
            ],
            "JobPostingID": 99999,
            "RecruiterID": 99999,
            "CompanyID": 99999,
            "ExpirationDate": "2018-11-15T23:59:00",
            "JobNumber": 2000431679,
            "Status": "Approved",
            "CreatedDate": "2018-10-15T09:34:58",
            "CreatedBy": "Somebody",
            "UpdatedDate": "2018-10-15T09:39:49",
            "UpdatedBy": "Somebody"
        }
    ]
}

Job Postings  |  Add

Adds a new job posting.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PrimaryContactRecruiterEmailAddress String Yes The email address of the recruiter associated with the job posting.
Body PostingDate DateTime Yes The posting date for the job posting.
Body JobTitle String Yes The title for the job posting.
Body JobDescription String No Default: null. The description for the job posting.
Body OrganizationName String No Default: pulled from posting recruiter. The name of the organization/company associated with the job posting.
Body OrganizationWebsite String No Default: pulled from posting recruiter. The website URL for the organization/company associated with the job posting.
Body OrganizationDescription String No Default: pulled from posting recruiter. The description for the organization/company associated with the job posting.
Body JobRequisition String No Default: null. The requisition information for the job posting.
Body ApplyInstructions String No Default: null. Special application instructions.
Body ApplicationMethods String Array Yes The application methods for the job posting, possible values depends on your configuration, but typically:
  • Resume Drop
  • Email
  • Website
Body ApplyWebsite String Conditional Default: null. The website URL for applications.
Body ApplyEmail String Conditional Default: null. The email address for applications.
Body ShareJobContactInfoWithCandidates Boolean Yes Indicates if the Job Contact field information should be shared with Candidates.
Body JobContactName String No Default: null. The contact name for the job posting.
Body JobContactTitle String No Default: null. The contact title for the job posting.
Body JobContactEmail String No Default: null. The contact email for the job posting.
Body JobContactPhone String No Default: null. The contact phone for the job posting.
Body JobContactFAX String No Default: null. The contact FAX for the job posting.
Body JobContactAddressLine1 String No Default: null. The contact first address line for the job posting.
Body JobContactAddressLine2 String No Default: null. The contact second address line for the job posting.
Body JobContactAddressLine3 String No Default: null. The contact third address line for the job posting.
Body JobContactCity String No Default: null. The contact city for the job posting.
Body JobContactState String No Default: null. The contact state for the job posting.
Body JobContactCountry String No Default: null. The contact postal code for the job posting.
Body JobContactPostalCode String No Default: null. The contact country for the job posting.
Body CustomFields CustomField Array No Default: null. The custom field data for the job posting.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Primary Contact Recruiter Email Address is required.
Primary Contact Recruiter Email Address does not exist.
Posting Date is required.
Posting Date must be a value between 1753-01-01 and 9999-12-31.
Job Title is required.
At least one Application Method is required.
Application Method is not a recognized value.
Apply Email is required when the Application Method is also Email.
Apply Website is required when the Application Method is also Website.
Job Contact State is not a recognized value.
Job Contact Country is not a recognized value.
Job Posting already exists.
Custom Field/Value is not recognized.

Example Request

/CustomerAPI/v2/JobPostings/Add?IntegrationKey=
{
    "PrimaryContactRecruiterEmailAddress": "recruiter@awesomecompany.com",
    "PostingDate": "2018-10-15T17:30:00",
    "JobTitle": "Account Development Manager",
    "JobDescription": "Account Development Manager Job Responsibilities:\nDevelops new business by analyzing account potential; initiating, developing, and 
        closing sales; recommending new applications and sales strategies.\n \nAccount Development Manager Job Duties:\nIdentifies development potential in 
        accounts by studying current business; interviewing key customer personnel and company personnel who have worked with customer; identifying and 
        evaluating additional needs; analyzing opportunities.\nInitiates sales process by building relationships; qualifying potential; scheduling 
        appointments.",
    "OrganizationName": "Awesome Company",
    "OrganizationWebsite": "http://www.awesomecompany.com",
    "OrganizationDescription": "Awesome Company is awesome.",
    "JobQualifications": "ClientBase, Establishes Partnerships/Alliances, Prospecting Skills, Meeting Sales Goals, Foster Teamwork, Planning, 
        Building Relationships, People Skills, Initiative, Customer Focus, Emphasizing Excellence",
    "JobRequisition": "A1B2C3",
    "ApplyInstructions": "Go to the website and fill out the application form.",
    "ApplicationMethods": [ "Resume Drop", "Email", "Website" ],
    "ApplyWebsite": "http://www.awesomecompany.com/apply",
    "ApplyEmail": "jobs@awesomecompany.com",
    "ShareJobContactInfoWithCandidates": true,
    "JobContactName": "Some Recruiter",
    "JobContactTitle": "Recruiting Manager",
    "JobContactEmail": "jobs@awesomecompany.com",
    "JobContactPhone": "555-555-1111",
    "JobContactFAX": "555-555-2222",
    "JobContactAddressLine1": "1234 Main Street",
    "JobContactAddressLine2": "1st Floor",
    "JobContactAddressLine3": "Suite A",
    "JobContactCity": "Hollywood",
    "JobContactState": "California",
    "JobContactCountry": "United States",
    "JobContactPostalCode": "90210",
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "JobPostingID": 99999,
    "RecruiterID": 99999,
    "CompanyID": 99999
}

Job Postings  |  Update

Updates an existing new job posting.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body JobPostingID Integer Yes The ID for the job posting to update.
Body PrimaryContactRecruiterEmailAddress String Yes The email address of the recruiter associated with the job posting.
Body PostingDate DateTime Yes The posting date for the job posting.
Body JobTitle String Yes The title for the job posting.
Body JobDescription String No Default: null. The description for the job posting.
Body OrganizationName String No Default: pulled from posting recruiter. The name of the organization/company associated with the job posting.
Body OrganizationWebsite String No Default: pulled from posting recruiter. The website URL for the organization/company associated with the job posting.
Body OrganizationDescription String No Default: pulled from posting recruiter. The description for the organization/company associated with the job posting.
Body JobRequisition String No Default: null. The requisition information for the job posting.
Body ApplyInstructions String No Default: null. Special application instructions.
Body ApplicationMethods String Array Yes The application methods for the job posting, possible values depends on your configuration, but typically:
  • Resume Drop
  • Email
  • Website
Body ApplyWebsite String Conditional Default: null. The website URL for applications.
Body ApplyEmail String Conditional Default: null. The email address for applications.
Body ShareJobContactInfoWithCandidates Boolean Yes Indicates if the Job Contact field information should be shared with Candidates.
Body JobContactName String No Default: null. The contact name for the job posting.
Body JobContactTitle String No Default: null. The contact title for the job posting.
Body JobContactEmail String No Default: null. The contact email for the job posting.
Body JobContactPhone String No Default: null. The contact phone for the job posting.
Body JobContactFAX String No Default: null. The contact FAX for the job posting.
Body JobContactAddressLine1 String No Default: null. The contact first address line for the job posting.
Body JobContactAddressLine2 String No Default: null. The contact second address line for the job posting.
Body JobContactAddressLine3 String No Default: null. The contact third address line for the job posting.
Body JobContactCity String No Default: null. The contact city for the job posting.
Body JobContactState String No Default: null. The contact state for the job posting.
Body JobContactCountry String No Default: null. The contact postal code for the job posting.
Body JobContactPostalCode String No Default: null. The contact country for the job posting.
Body CustomFields CustomField Array No Default: null. The custom field data for the job posting.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Job Posting ID does not exist.
Primary Contact Recruiter Email Address is required.
Primary Contact Recruiter Email Address does not exist.
Posting Date is required.
Posting Date must be a value between 1753-01-01 and 9999-12-31.
Job Title is required.
At least one Application Method is required.
Application Method is not a recognized value.
Apply Email is required when the Application Method is also Email.
Apply Website is required when the Application Method is also Website.
Job Contact State is not a recognized value.
Job Contact Country is not a recognized value.
Job Posting already exists.
Custom Field/Value is not recognized.

Example Request

/CustomerAPI/v2/JobPostings/Update?IntegrationKey=
{
    "JobPostingID": 99999,
    "PrimaryContactRecruiterEmailAddress": "recruiter@awesomecompany.com",
    "PostingDate": "2018-10-15T17:30:00",
    "JobTitle": "Account Development Manager",
    "JobDescription": "Account Development Manager Job Responsibilities:\nDevelops new business by analyzing account potential; initiating, developing, and 
        closing sales; recommending new applications and sales strategies.\n \nAccount Development Manager Job Duties:\nIdentifies development potential in 
        accounts by studying current business; interviewing key customer personnel and company personnel who have worked with customer; identifying and 
        evaluating additional needs; analyzing opportunities.\nInitiates sales process by building relationships; qualifying potential; scheduling 
        appointments.",
    "OrganizationName": "Awesome Company",
    "OrganizationWebsite": "http://www.awesomecompany.com",
    "OrganizationDescription": "Awesome Company is awesome.",
    "JobQualifications": "ClientBase, Establishes Partnerships/Alliances, Prospecting Skills, Meeting Sales Goals, Foster Teamwork, Planning, 
        Building Relationships, People Skills, Initiative, Customer Focus, Emphasizing Excellence",
    "JobRequisition": "A1B2C3",
    "ApplyInstructions": "Go to the website and fill out the application form.",
    "ApplicationMethods": [ "Resume Drop", "Email", "Website" ],
    "ApplyWebsite": "http://www.awesomecompany.com/apply",
    "ApplyEmail": "jobs@awesomecompany.com",
    "ShareJobContactInfoWithCandidates": true,
    "JobContactName": "Some Recruiter",
    "JobContactTitle": "Recruiting Manager",
    "JobContactEmail": "jobs@awesomecompany.com",
    "JobContactPhone": "555-555-1111",
    "JobContactFAX": "555-555-2222",
    "JobContactAddressLine1": "1234 Main Street",
    "JobContactAddressLine2": "1st Floor",
    "JobContactAddressLine3": "Suite A",
    "JobContactCity": "Hollywood",
    "JobContactState": "California",
    "JobContactCountry": "United States",
    "JobContactPostalCode": "90210",
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true
}

Recruiters  |  Get Custom Fields

Returns a CustomField Array specific to this entity.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.

Example Request

/CustomerAPI/v2/Recruiters/GetCustomFields?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        }
    ]
}

Recruiters  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates and filtered.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body NewRecordsOnly Boolean Yes Indicates if results should be limited to only those records created within the specified time period.
Body Filters CustomField Array No Default: null. Filter criteria to use in limiting the set of data returned. Multiple values for a given field are treated as a match against any value.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Recruiters/CreatePagination?IntegrationKey=
{
    "FromDate": "2018-09-01",
    "ThroughDate": "2018-12-31",
    "NewRecordsOnly": false,
    "Filters": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 100
    }
}

Recruiters  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Recruiters/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1,
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "Recruiters": [
        {
            "RecruiterCompanyName": "Awesome Company",
            "RecruiterEmailAddress": "recruiter@awesomecompany.com",
            "FirstName": "John",
            "LastName": "Recruiter",
            "MiddleName": "J",
            "PreferredName": "Johnny",
            "NamePrefix": "Mr.",
            "NameSuffix": "Sr",
            "Title": "Hiring Manager",
            "Division": "Recruiting",
            "PrimaryPhone": "555-555-1111",
            "SecondaryPhone": "555-555-2222",
            "MobilePhone": "555-555-3333",
            "FAXNumber": "555-555-4444",
            "AddressLine1": "1234 Main Street",
            "AddressLine2": "1st Floor",
            "AddressLine3": "Suite 123",
            "City": "Hollywood",
            "State": "California",
            "PostalCode": "90210",
            "Country": "United States",
            "Status": "Active",
            "AccountManagerEmailAddress": "accountManager@school.edu",
            "CustomFields": [
                {
                    "FieldName": "Example List Question",
                    "DataType": "List",
                    "FieldValues": [ "Green" ]
                },
                {
                    "FieldName": "Example Text Question",
                    "DataType": "Text",
                    "FieldValues": [ "Something" ]
                }
            ],
            "RecruiterID": 99999,
            "CompanyID": 99999,
            "CreatedDate": "2018-10-10T09:34:06",
            "CreatedBy": "Somebody",
            "UpdatedDate": "2018-10-10T09:34:30",
            "UpdatedBy": "Somebody"
        }
    ]
}

Recruiters  |  Save

Adds or updates a recruiter record. Update matching occurs based on the "RecruiterEmailAddress" field.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL UpdateIfExists Boolean Yes Determines if an existing recruiter has their record overwritten with the supplied data.
Body RecruiterCompanyName String Yes The name of the company for the recruiter.
Body RecruiterEmailAddress String Yes The email address of the recruiter.
Body FirstName String No Default: null. The first name of the recruiter.
Body LastName String No Default: null. The last name of the recruiter.
Body MiddleName String No Default: null. The middle name of the recruiter.
Body PreferredName String No Default: null. The preferred name of the recruiter.
Body NamePrefix String No Default: null. The name prefix of the recruiter, such as salutation.
Body NameSuffix String No Default: null. The name suffix of the recruiter, such as "Jr".
Body Title String No Default: null. The job title of the recruiter.
Body Division String No Default: null. The division of the recruiter.
Body PrimaryPhone String No Default: null. The primary phone of the recruiter.
Body SecondaryPhone String No Default: null. The secondary phone of the recruiter.
Body MobilePhone String No Default: null. The mobile phone of the recruiter.
Body FAXNumber String No Default: null. The FAX number of the recruiter.
Body AddressLine1 String No Default: null. The first address line of the recruiter.
Body AddressLine2 String No Default: null. The second address line of the recruiter.
Body AddressLine3 String No Default: null. The third address line of the recruiter.
Body City String No Default: null. The city of the recruiter.
Body State String No Default: null. The state of the recruiter.
Body PostalCode String No Default: null. The postal code of the recruiter.
Body Country String No Default: null. The country of the recruiter.
Body Status String Yes The status of the recruiter.
Body AccountManagerEmailAddress String No Default: null. The email address for the Account Manager of the recruiter.
Body CustomFields CustomField Array No Default: null. The custom field data for the recruiter.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Recruiter Company Name is required.
Recruiter Email Address is required.
Recruiter Company Name does not exist.
State is not a recognized value.
Country is not a recognized value.
Status is required.
Status is not a recognized value.
Account Manager email address does not exist.
Custom Field/Value is not recognized.

Example Request

/CustomerAPI/v2/Recruiters/Save?IntegrationKey=&UpdateIfExists=
{
    "RecruiterCompanyName": "Awesome Company",
    "RecruiterEmailAddress": "recruiter@awesomecompany.com",
    "FirstName": "John",
    "LastName": "Recruiter",
    "MiddleName": "J",
    "PreferredName": "Johnny",
    "NamePrefix": "Mr.",
    "NameSuffix": "Sr",
    "Title": "Hiring Manager",
    "Division": "Recruiting",
    "PrimaryPhone": "555-555-1111",
    "SecondaryPhone": "555-555-2222",
    "MobilePhone": "555-555-3333",
    "FAXNumber": "555-555-4444",
    "AddressLine1": "1234 Main Street",
    "AddressLine2": "1st Floor",
    "AddressLine3": "Suite 123",
    "City": "Hollywood",
    "State": "California",
    "PostalCode": "90210",
    "Country": "United States",
    "Status": "Active",
    "AccountManagerEmailAddress": "accountManager@school.edu",
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Test" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Skipped": false,
    "RecruiterID": 99999,
    "CompanyID": 99999,
}

Resumes  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body NewRecordsOnly Boolean Yes Indicates if results should be limited to only those records created within the specified time period.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.

Example Request

/CustomerAPI/v2/Resumes/CreatePagination?IntegrationKey=
{
    "FromDate": "2018-09-01",
    "ThroughDate": "2018-12-31",
    "NewRecordsOnly": false
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 10
    }
}

Resumes  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method. Always returns the GradLeaders PDF version of a resume.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.

Example Request

/CustomerAPI/v2/Resumes/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "Resumes": [
        {
            "CandidateEmailAddress": "TestACandidate@school.edu",
            "ResumeTitle": "Awesome Resume",
            "UploadDate": "2018-10-12T12:40:06",
            "ResumeFilename": "resume_99999.pdf",
            "Base64EncodedFileBytes": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlPM0jRW/QAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII=",
            "IsDefaultResume": true,
            "ResumeID": 99999,
            "CandidateID": 99999,
            "CreatedDate": "2018-10-12T12:40:06",
            "CreatedBy": "Somebody",
            "UpdatedDate": "2018-10-12T12:49:51",
            "UpdatedBy": "Somebody"
        }
    ]
}

Resumes  |  Add

Adds a new resume and converts it to a PDF.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body CandidateEmailAddress String Yes The contact email address of the candidate to which the resume is being added.
Body ResumeFilename String Yes The original filename and extension of the resume.
Body ResumeTitle String Yes The title of the resume.
Body Base64EncodedFileBytes String Yes This a Base64-encoded resume file. Using C#, this information can be translated using Convert.ToBase64String and Convert.FromBase64String.
Body IsDefaultResume Boolean Yes Indicates if this resume should become the default resume for the candidate's default profile.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Candidate Email Address is required.
Candidate Email Address does not exist.
Candidate does not have a Default Profile.
Resume Title is required.
Resume Title is not unique for this Candidate.
Resume Filename is required.
Resume Filename must contain an extension.
Resume Filename is not a typical filename or contains invalid characters.
Base64EncodedFileBytes is required.
Base64EncodedFileBytes is not a well-formed, Base64 encoded byte array.

Example Request

/CustomerAPI/v2/Resumes/Add?IntegrationKey=
{
    "CandidateEmailAddress": "TestACandidate@school.edu",
    "ResumeFilename": "AwesomeResume.docx",
    "ResumeTitle": "Awesome Resume",
    "Base64EncodedFileBytes": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlPM0jRW/QAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII=",
    "IsDefaultResume": true
}

Example Response

Status 200 - OK
{
    "Success": true,
    "ResumeID": 99999,
    "CandidateID": 99999
}

Resumes  |  Update

Updates an existing resume and converts it to a PDF.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body ResumeID Integer Yes The ID of the resume to update.
Body CandidateEmailAddress String Yes The contact email address of the candidate to which the resume is being added.
Body ResumeFilename String Yes The original filename and extension of the resume.
Body ResumeTitle String Yes The title of the resume.
Body Base64EncodedFileBytes String Yes This a Base64-encoded resume file. Using C#, this information can be translated using Convert.ToBase64String and Convert.FromBase64String.
Body IsDefaultResume Boolean Yes Indicates if this resume should become the default resume for the candidate's default profile.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Candidate Email Address is required.
Candidate Email Address does not exist.
Candidate does not have a Default Profile.
Resume Title is required.
Resume Title is not unique for this Candidate.
Resume Filename is required.
Resume Filename must contain an extension.
Resume Filename is not a typical filename or contains invalid characters.
Base64EncodedFileBytes is required.
Base64EncodedFileBytes is not a well-formed, Base64 encoded byte array.
Resume ID must be greater than zero.
Resume ID does not exist.
Resume does not belong to the Candidate with the Email Address supplied.

Example Request

/CustomerAPI/v2/Resumes/Update?IntegrationKey=
{
    "ResumeID": 99999,
    "CandidateEmailAddress": "TestACandidate@school.edu",
    "ResumeFilename": "AwesomeResume.docx",
    "ResumeTitle": "Awesome Resume",
    "Base64EncodedFileBytes": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlPM0jRW/QAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII=",
    "IsDefaultResume": true
}

Example Response

Status 200 - OK
{
    "Success": true
}

Resumes  |  Archive

Archives an existing resume.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body ResumeID Integer Yes The ID of the resume to update.
Body CandidateEmailAddress String Yes The contact email address of the candidate to which the resume is being added.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Candidate with Email Address does not exist.
Resume ID must be greater than zero.
Resume ID does not exist.
Resume does not belong to the Candidate with the Email Address supplied.
Resume is already archived.
Resume cannot be archived because it is currently being used as a default resume.

Example Request

/CustomerAPI/v2/Resumes/Archive?IntegrationKey=
{
    "ResumeID": 99999,
    "CandidateEmailAddress": "TestACandidate@school.edu"
}

Example Response

Status 200 - OK
{
    "Success": true
}

Rooms  |  Get All Rooms

Returns a list of all rooms.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.

Example Request

}/CustomerAPI/v2/Rooms/GetAllRooms?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "Rooms": [ 
        {
            "Name": "Main Auditorium",
            "Description": "This is the main school auditorium.",
            "OwnerEmail": "roomOwner@school.edu",
            "MaximumCapacity": 999,
            "IsAvailabilityTrackingEnabled": true,
            "IsAudioVisualCapable": true,
            "IsActive": true,
            "UsageTypes": [ "Interviews", "CompanyEvents", "Workshops", "AdvisingAppointments", "MockInterviews" ],
            "RoomID": 99999
        }
    ]
}

Rooms  |  Add

Adds a room record.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body Name String Yes The name of the room.
Body Description String No Default: null. The description of the room.
Body OwnerEmail String No Default: null. The email address of the room owner.
Body MaximumCapacity Integer No Default: 0 (unlimited). The capacity of the room.
Body IsAvailabilityTrackingEnabled Boolean No Default: false. Indicates whether or not the room is tracked for availability.
Body IsAudioVisualCapable Boolean No Default: false. Indicates whether or not the room is audio/visual capable.
Body IsActive Boolean No Default: false. Indicates whether or not the room is active.
Body UsageTypes String Array No Default: null. Indicates the type of activites to which the room is used. Possible values:
  • Interviews
  • CompanyEvents
  • Workshops
  • AdvisingAppointments
  • MockInterviews

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Room Name is required.
Room Name is not unique.

Example Request

/CustomerAPI/v2/Rooms/Add?IntegrationKey=
{
    "Name": "Main Auditorium",
    "Description": "This is the main school auditorium.",
    "OwnerEmail": "roomOwner@school.edu",
    "MaximumCapacity": 999,
    "IsAvailabilityTrackingEnabled": true,
    "IsAudioVisualCapable": true,
    "IsActive": true,
    "UsageTypes": [ "Interviews", "CompanyEvents", "Workshops", "AdvisingAppointments", "MockInterviews" ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "RoomID": 99999
}

Rooms  |  Update

Updates a room record.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body RoomID Integer Yes The ID of the room.
Body Name String Yes The name of the room.
Body Description String No Default: null. The description of the room.
Body OwnerEmail String No Default: null. The email address of the room owner.
Body MaximumCapacity Integer No Default: 0 (unlimited). The capacity of the room.
Body IsAvailabilityTrackingEnabled Boolean No Default: false. Indicates whether or not the room is tracked for availability.
Body IsAudioVisualCapable Boolean No Default: false. Indicates whether or not the room is audio/visual capable.
Body IsActive Boolean No Default: false. Indicates whether or not the room is active.
Body UsageTypes String Array No Default: null. Indicates the type of activities to which the room is used. Possible values:
  • Interviews
  • CompanyEvents
  • Workshops
  • AdvisingAppointments
  • MockInterviews

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Room Name is required.
Room Name is not unique.
Room ID must be greater than zero.
Room ID does not exist.

Example Request

/CustomerAPI/v2/Rooms/Update?IntegrationKey=
{
    "RoomID": 99999,
    "Name": "Main Auditorium",
    "Description": "This is the main school auditorium.",
    "OwnerEmail": "roomOwner@school.edu",
    "MaximumCapacity": 999,
    "IsAvailabilityTrackingEnabled": true,
    "IsAudioVisualCapable": true,
    "IsActive": true,
    "UsageTypes": [ "Interviews", "CompanyEvents", "Workshops", "AdvisingAppointments", "MockInterviews" ]
}

Example Response

Status 200 - OK
{
    "Success": true
}

Single Sign-on  |  Create Token

Creates a one-time-use Single Sign-on token used to login a user.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body Username String Yes The username of the user.
Body EmailAddress String Yes The email address of the user.
Body Role String Yes The role of the user, possible values:
  • Admin
  • Candidate
  • Employer
Body XmlUserDetails String No Default: null. An Xml packet of data that contains additional information about the user; this requires additional configuration with GradLeaders.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Username is required.
Email Address is required.
Email Address is not a well-formed/valid value.
Role is required.
XmlUserDetails is not a well-formed/valid Xml document.

Example Request

/CustomerAPI/v2/SingleSignOn/CreateToken?IntegrationKey=
{
	"Username": "CandidateTest",
	"EmailAddress": "CandidateTest@school.edu",
	"Role": "Candidate"
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Token": "d2792d0e8ffa4d4eb60b2506b089bd22"
}

Workshops  |  Get Custom Fields

Returns a CustomField Array specific to this entity.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.

Example Request

/CustomerAPI/v2/Workshops/GetCustomFields?IntegrationKey=

Example Response

Status 200 - OK
{
    "Success": true,
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "DataType": "List",
            "FieldValues": [ "Red", "Blue", "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "DataType": "Text"
        }
    ]
}

Workshops  |  Create Pagination

Creates a persisted results set of records used in a subsequent API method titled Fetch Page. The request body contains parameters that determine how data is limited by dates and filtered.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body FromDate Date Yes The start date of records either created or modified.
Body ThroughDate Date Yes The through date of records either created or modified.
Body NewRecordsOnly Boolean Yes Indicates if results should be limited to only those records created within the specified time period.
Body Filters CustomField Array No Default: null. Filter criteria to use in limiting the set of data returned. Multiple values for a given field are treated as a match against any value.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
From Date must be a value between 1753-01-01 and 9999-12-31.
Through Date must be a value between 1753-01-01 and 9999-12-31.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Workshops/CreatePagination?IntegrationKey=
{
    "FromDate": "2018-09-01",
    "ThroughDate": "2018-12-31",
    "NewRecordsOnly": false,
    "Filters": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Red", "Blue" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "Pagination": {
        "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
        "TotalNumberOfRecords": 1,
        "TotalNumberOfPages": 1,
        "NumberOfRecordsPerPage": 100
    }
}

Workshops  |  Fetch Page

Retrieves a single page of records that were generated from the Create Pagination API method.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body PaginationKey String Yes The pagination key from the response in Create Pagination API method.
Body PageNumber Integer Yes The page number to retrieve.
Body PreferStandardizedData Boolean No Default: false. This should only be used and specified as true if you want the GradLeaders standardized values returned.
Body CustomFields CustomField Array No Default: null. The custom fields to return for each record in the results.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Pagination Key is invalid.
Custom Field is not recognized.

Example Request

/CustomerAPI/v2/Workshops/FetchPage?IntegrationKey=
{
    "PaginationKey": "7e06d2adde1146ccb80962d4758e7e7c",
    "PageNumber": 1,
    "CustomFields": [
        {
            "FieldName": "Example List Question"
        },
        {
            "FieldName": "Example Text Question"
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "PageNumber": 1,
    "NumberOfRecords": 1,
    "Workshops": [
        {
            "Name": "Orientation",
            "Description": "This is the orientation workshop.",
            "StartDateAndTime": "2018-10-24T09:00:00",
            "EndDateAndTime": "2018-10-24T10:00:00",
            "SignupStartDateAndTime": "2018-10-21T09:00:00",
            "SignupEndDateAndTime": "2018-10-23T09:00:00",
            "AdvisorEmailAddress": "advisor@school.edu",
            "IsVisibleToCandidates": true,
            "IsSignupRequired": true,
            "Room": "Main Auditorium",
            "CustomFields": [
                {
                    "FieldName": "Example List Question",
                    "DataType": "List",
                    "FieldValues": [ "Green" ]
                },
                {
                    "FieldName": "Example Text Question",
                    "DataType": "Text",
                    "FieldValues": [ "Something" ]
                }
            ],
            "WorkshopID": 99999,
            "IsCancelled": true,
            "CancelledDate": "2018-10-11T08:35:20",
            "CreatedDate": "2018-06-08T10:59:04",
            "CreatedBy": "Somebody",
            "UpdatedDate": "2018-10-11T08:35:20",
            "UpdatedBy": "Somebody"
        }
    ]
}

Workshops  |  Add

Adds a new workshop.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body Name String Yes The name of the workshop.
Body Description String No Default: null. The description of the workshop.
Body StartDateAndTime DateTime Yes The start date and time of the workshop.
Body EndDateAndTime DateTime Yes The end date and time of the workshop.
Body SignupStartDateAndTime DateTime Yes The signup start date and time of the workshop.
Body SignupEndDateAndTime DateTime Yes The signup end date and time of the workshop.
Body AdvisorEmailAddress String Yes The email address of the advisor for the workshop.
Body IsVisibleToCandidates Boolean Yes Indicates whether or not the workshop is visible to candidates.
Body IsSignupRequired Boolean Yes Indicates whether or not signing up is required for the workshop.
Body Room String No Default: null. The room for the workshop.
Body CustomFields CustomField Array No Default: null. The custom field data for the workshop.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Workshop Name is required.
Workshop Start Date and Time is required.
Workshop End Date and Time is required.
Workshop End Date and Time cannot be less than or equal to Workshop Start Date and Time.
Signup Start Date and Time is required.
Signup Start Date and Time cannot be greater than or equal to Workshop Start Date and Time.
Signup End Date and Time is required.
Signup End Date and Time cannot be less than or equal to Signup Start Date and Time.
Signup End Date and Time cannot be greater than Workshop Start Date and Time.
Workshop Start Date and Time must be a value between 1753-01-01 and 9999-12-31.
Workshop End Date and Time must be a value between 1753-01-01 and 9999-12-31.
Signup Start Date and Time must be a value between 1753-01-01 and 9999-12-31.
Signup End Date and Time must be a value between 1753-01-01 and 9999-12-31.
Advisor Email Address is required.
Workshop already exists.
Advisor email address does not exist.
Room Name does not exist.
Custom Field/Value is not recognized.

Example Request

/CustomerAPI/v2/Workshops/Add?IntegrationKey=
{
    "Name": "Orientation",
    "Description": "This is the orientation workshop.",
    "StartDateAndTime": "2018-10-24T09:00:00",
    "EndDateAndTime": "2018-10-24T10:00:00",
    "SignupStartDateAndTime": "2018-10-21T09:00:00",
    "SignupEndDateAndTime": "2018-10-23T09:00:00",
    "AdvisorEmailAddress": "advisor@school.edu",
    "IsVisibleToCandidates": true,
    "IsSignupRequired": true,
    "Room": "Main Auditorium",
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true,
    "WorkshopID": 99999
}

Workshops  |  Update

Updates an existing workshop.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body WorkshopID Integer Yes The ID of the workshop to update.
Body Name String Yes The name of the workshop.
Body Description String No Default: null. The description of the workshop.
Body StartDateAndTime DateTime Yes The start date and time of the workshop.
Body EndDateAndTime DateTime Yes The end date and time of the workshop.
Body SignupStartDateAndTime DateTime Yes The signup start date and time of the workshop.
Body SignupEndDateAndTime DateTime Yes The signup end date and time of the workshop.
Body AdvisorEmailAddress String Yes The email address of the advisor for the workshop.
Body IsVisibleToCandidates Boolean Yes Indicates whether or not the workshop is visible to candidates.
Body IsSignupRequired Boolean Yes Indicates whether or not signing up is required for the workshop.
Body Room String No Default: null. The room for the workshop.
Body CustomFields CustomField Array No Default: null. The custom field data for the workshop.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Workshop ID must be greater than zero.
Workshop ID does not exist.
Workshop Name is required.
Workshop Start Date and Time is required.
Workshop End Date and Time is required.
Workshop End Date and Time cannot be less than or equal to Workshop Start Date and Time.
Signup Start Date and Time is required.
Signup Start Date and Time cannot be greater than or equal to Workshop Start Date and Time.
Signup End Date and Time is required.
Signup End Date and Time cannot be less than or equal to Signup Start Date and Time.
Signup End Date and Time cannot be greater than Workshop Start Date and Time.
Workshop Start Date and Time must be a value between 1753-01-01 and 9999-12-31.
Workshop End Date and Time must be a value between 1753-01-01 and 9999-12-31.
Signup Start Date and Time must be a value between 1753-01-01 and 9999-12-31.
Signup End Date and Time must be a value between 1753-01-01 and 9999-12-31.
Advisor Email Address is required.
Workshop already exists.
Advisor email address does not exist.
Room Name does not exist.
Custom Field/Value is not recognized.

Example Request

/CustomerAPI/v2/Workshops/Update?IntegrationKey=
{
    "WorkshopID": 99999,
    "Name": "Orientation",
    "Description": "This is the orientation workshop.",
    "StartDateAndTime": "2018-10-24T09:00:00",
    "EndDateAndTime": "2018-10-24T10:00:00",
    "SignupStartDateAndTime": "2018-10-21T09:00:00",
    "SignupEndDateAndTime": "2018-10-23T09:00:00",
    "AdvisorEmailAddress": "advisor@school.edu",
    "IsVisibleToCandidates": true,
    "IsSignupRequired": true,
    "Room": "Main Auditorium",
    "CustomFields": [
        {
            "FieldName": "Example List Question",
            "FieldValues": [ "Green" ]
        },
        {
            "FieldName": "Example Text Question",
            "FieldValues": [ "Something" ]
        }
    ]
}

Example Response

Status 200 - OK
{
    "Success": true
}

Workshops  |  Assign Date and Room

Updates the date and room for the specified record.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body WorkshopID Integer Yes The record ID to update.
Body StartDateAndTime DateTime Yes The start date and time of the event.
Body EndDateAndTime DateTime Yes The end date and time of the event.
Body RoomName String Yes The name of the room.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Workshop ID must be greater than zero.
Workshop ID does not exist.
Start Date and Time is required.
Start Date and Time must be a value between 1753-01-01 and 9999-12-31.
End Date and Time is required.
End Date and Time must be a value between 1753-01-01 and 9999-12-31.
End Date and Time must be a value greater than Start Date and Time.
Room Name is an empty string; use null for no assignment or supply a value.
Room Name does not exist.

Example Request

/CustomerAPI/v2/Workshops/AssignDateAndRoom?IntegrationKey=
{
    "WorkshopID": 99999,
    "StartDateAndTime": "2018-10-24T09:00:00",
    "EndDateAndTime": "2018-10-24T10:30:00",
    "RoomName": "Main Auditorium"
}

Example Response

Status 200 - OK
{
    "Success": true
}

Workshops  |  Assign Room

Updates the room for the specified record.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
Body WorkshopID Integer Yes The record ID to update.
Body RoomName String Yes The name of the room.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Workshop ID must be greater than zero.
Workshop ID does not exist.
Room Name is an empty string; use null for no assignment or supply a value.
Room Name does not exist.

Example Request

/CustomerAPI/v2/Workshops/AssignRoom?IntegrationKey=
{
    "WorkshopID": 99999,
    "RoomName": "Main Auditorium"
}

Example Response

Status 200 - OK
{
    "Success": true
}

Workshops  |  Cancel

Cancels a workshop.

Parameters

Type Name Data Required Description
URL IntegrationKey String Yes The API key issued from GradLeaders.
URL WorkshopID Integer Yes The record ID of the workshop to cancel.

Validations

Integration Key is invalid.
Remote Address is not authorized to use this service.
Workshop ID must be greater than zero.
Workshop ID does not exist.
Workshop has already been cancelled.

Example Request

/CustomerAPI/v2/Workshops/Cancel?IntegrationKey=&WorkshopID=

Example Response

Status 200 - OK
{
    "Success": true
}