List of Scopes and Security Permissions for APIs

All Cornerstone APIs require a scope to be assigned to the OAuth 2.0 application and token. Most APIs also require a specific security permission to be assigned to the user account tied to the OAuth 2.0 application. The table below lists the scopes and permissions each API needs. The last column indicates whether the API respects any constraints placed on the security permission.

Note that scopes are grouped by logical operations you can perform in Cornerstone. Due to this, a single scope can grant your application access to more than one API endpoint.


Core

ProductAPIEndpointsHTTP MethodOAuth 2.0 ScopeSecurity PermissionConstraints Supported?
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/employment-status/effective-date/{asOfDate}GETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/employment-statusGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/effective-date/{asOfDate}GETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/effective-date/statusGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employeesGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}GETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/termination-reasonsGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/employment-statusGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/leave-reasonsGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/custom-fieldsGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/employment-categoriesGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/custom-relationsGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/activation-periodGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/reasons-for-changeGETemployee:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/groupsGETgroup:readEmployee API - View or Employee API - View - ConstrainedYes
EmployeeEmployee API v2/services/api/x/users/v2/employeesPOSTemployee:createEmployee API - EditYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/effective-date/{asOfDate}PATCHemployee:updatepartialEmployee API - EditYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}PATCHemployee:updatepartialEmployee API - EditYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/employment-statusPATCHemployee:updatepartialEmployee API - EditYes
EmployeeEmployee API v2/services/api/x/users/v2/employees/{id}/employment-status/effective-date/{asOfDate}PATCHemployee:updatepartialEmployee API - EditYes
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/employmentstatus/effectivedate/{asOfDate}GETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/employmentstatusGETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/employmentstatusGETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/customfieldsGETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/effectivedate/{asOfDate}GETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/effectivedate/statusGETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/activationperiodGETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employeesGETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}GETemployee:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/groupsGETgroup:readEmployee API - ViewNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/employmentstatus/effectivedate/{asOfDate}PUTemployee:updatefullEmployee API - EditNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/employmentstatusPUTemployee:updatefullEmployee API - EditNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/activationperiodPUTemployee:updatefullEmployee API - EditNo
EmployeeEmployee API v1/services/api/x/users/v1/employeesPOSTemployee:createEmployee API - EditNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}/effectivedate/{asOfDate}PATCHemployee:updatepartialEmployee API - EditNo
EmployeeEmployee API v1/services/api/x/users/v1/employees/{id}PATCHemployee:updatepartialEmployee API - EditNo
OUOU API v1/services/api/x/organizations/v1/typesGEToutype:readOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/types/{type id}GEToutype:readOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/ousGETou:readOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/ous/{ou id}GETou:readOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/ous/{ou id}/localizationsGETou:readOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/ousPOSTou:writeOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/ousPOSTou:writeOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/ous/{ou id}PUTou:updatefullOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/ous/{ou id}/localizationsPUTou:updatefullOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/specificationsPATCHouspecification:readOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/specificationsPATCHouspecification:readOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/typesGEToutype:readOU Hierarchy - Manage, View GradesYes
OUOU API v1/services/api/x/organizations/v1/types/{type id}GEToutype:readOU Hierarchy - Manage, View GradesYes
OUGlobal Search API/services/api/Core/GlobalSearchGETglobalsearch:readn/aNo
ApprovalsApprovals API/services/api/Employee/{userName}/approvalsGETapproval:readRequest Items - ViewNo
ApprovalsApprovals API/services/api/Employee/{userName}/approvalsPOSTapproval:createRequest Items - ViewNo

Learning

ProductAPIEndpointsHTTP MethodOAuth 2.0 ScopeSecurity PermissionConstraints Supported?
LOTraining (LO) API/services/api/LO/GetDetailsGETtraining:readn/aNo
LOTraining (LO) API/services/api/LO/CreatePOSTtraining:createEvents - Create, Sessions - Create,No
LOTraining (LO) API/services/api/LO/CreatePOSTtraining:createCourse Catalog - Update,No
LOTraining (LO) API/services/api/LO/CreatePOSTtraining:createLCMS Course Administrator,No
LOTraining (LO) API/services/api/LO/CreatePOSTtraining:createMaterials ManagementNo
LOTraining (LO) API/services/api/LO/UpdatePOSTtraining:updatefullSession - EditNo
LOTraining Custom Field API/services/api/CustomField/POSTtraining:createTraining Custom FieldsNo
Express ClassExpress Class API/services/x/lms-express-class/v1/ExpressClassPOSTexpressclass:createExpress Class – ManageYes
Learning AssignmentLearning Assignment API/services/x/lms-learning-assignment/v1/learning-assignment/standardPOSTlearningassignment:createAssignment Tool - Standard,Yes
Learning AssignmentLearning Assignment API/services/x/lms-learning-assignment/v1/learning-assignment/standardPOSTlearningassignment:createAssignment Tool - Email Settings - ViewYes
Learning AssignmentLearning Assignment API/services/x/lms-learning-assignment/v1/learning-assignment/{id}GETlearningassignment:readAssignment Tool - StandardYes
Learning AssignmentLearning Assignment API/services/x/lms-learning-assignment/v1/learning-assignment/searchGETlearningassignment:readAssignment Tool - StandardYes
SessionSession Roster API/services/api/SessionRoster/POSTsessionroster:createRoster - ManageNo
SessionSession Roster API/services/api/SessionRoster/GetSessionRosterGETsessionroster:readRoster - ViewNo
Catalog SearchCatalog Search API/services/api/Catalog/GlobalSearchGETtraining:readCourse Catalog - ViewNo
Transcript and TaskTranscript Search API/services/api/LOTranscript/TranscriptSearchGETtranscript:readUsers - View, View Transcript ItemNo
Transcript and TaskTranscript and Task API/services/api/TranscriptAndTask/InboxGETinbox:readn/aNo
Transcript and TaskTranscript and Task API/services/api/TranscriptAndTask/AssignedGETtranscript:readn/aNo
Transcript and TaskTranscript and Task API/services/api/TranscriptAndTask/SessionGETtranscript:readn/aNo
Transcript and TaskTranscript and Task API/services/api/TranscriptAndTask/TranscriptGETtranscript:readn/aNo
Transcript and TaskTranscript and Task API/services/api/TranscriptAndTask/SuggestedTrainingGETtranscript:readn/aNo
Transcript and TaskTranscript and Task API/services/api/TranscriptAndTask/ApprovalGETapproval:readn/aNo
Transcript and TaskTranscript and Task API/services/api/TranscriptAndTask/TaskGETtask:readn/aNo
CertificationCertification API/services/api/Certification/RemovePOSTcertification:deleteCertification - ManageNo
CertificationCertification API/services/api/CertificationDetails/GetCertificationDetailsGETcertification:readCertification - ManageNo
CertificationCertification API/services/api/CertificationTranscript/CertificationTranscriptDetailsGETcertification:readView Transcript Item - ViewNo
Training UnitTraining Unit API/services/api/TrainingUnitPOSTtrainingunit:createTraining Unit Assignment - ViewNo

Transcript

ProductAPIEndpointsHTTP MethodOAuth 2.0 ScopeAdditional ClaimSecurity PermissionConstraints Supported?
TranscriptOverview API/services/api/v1/transcripts/overviewGETtranscript:readn/aView Transcript ItemYes
TranscriptDetails API/services/api/v1/transcripts/detailsGETtranscript:readn/aView Transcript ItemYes
TranscriptEnhanced Details API/services/api/v1/transcripts/enhanced-detailsGETtranscript:readn/aView Transcript ItemYes
TranscriptCurricula Child API/services/api/v1/transcripts/curriculum-child-lo-dataGETtranscript:readn/aView Transcript ItemYes
TranscriptCustom Fields API/services/api/v1/transcripts/custom-fieldsGETtranscript:readn/aView Transcript ItemYes
TranscriptForm Fields API/services/api/v1/transcripts/request-form-fieldsGETtranscript:readn/aView Transcript ItemYes
TranscriptExempt Info API/services/api/v1/transcripts/exempt-infoGETtranscript:readn/aView Transcript ItemYes
TranscriptRemoval Info API/services/api/v1/transcripts/removal-infoGETtranscript:readn/aView Transcript ItemYes
TranscriptSession Info API/services/api/v1/transcripts/session-infoGETtranscript:readn/aView Transcript ItemYes
TranscriptVersion Info API/services/api/v1/transcripts/version-infoGETtranscript:readn/aView Transcript ItemYes
TranscriptRequest API/services/api/v1/transcripts/requestPOSTtranscript:createtranscript:create:requestTranscript API - RequestYes
TranscriptAssign API/services/api/v1/transcripts/assignPOSTtranscript:createtranscript:create:assignAssignment Tool - StandardYes
TranscriptRemove API/services/api/v1/transcripts/removePATCHtranscript:updatetranscript:update:removeRemove TrainingYes
TranscriptRegister API/services/api/v1/transcripts/registerPATCHtranscript:updatetranscript:update:registerEdit Transcript ItemsYes
TranscriptProgress API/services/api/v1/transcripts/progressPATCHtranscript:updatetranscript:update:progressEdit Transcript ItemsYes
TranscriptComplete API/services/api/v1/transcripts/completePATCHtranscript:updatetranscript:update:completeMark Training CompleteYes
TranscriptUpdate API/services/api/v1/transcripts/updatePATCHtranscript:updatetranscript:update:updatepartialEdit Transcript ItemsYes
TranscriptApprove API/services/api/v1/transcripts/approvePATCHtranscript:updatetranscript:update:approveEdit Transcript ItemsYes
TranscriptArchive API/services/api/v1/transcripts/archivePATCHtranscript:updatetranscript:update:archiveMove training to Archived TranscriptYes
TranscriptWithdraw API/services/api/v1/transcripts/withdrawPATCHtranscript:updatetranscript:update:withdrawWithdraw Users from SessionsYes
TranscriptExempt API/services/api/v1/transcripts/exemptPATCHtranscript:updatetranscript:update:exemptMark Transcript ExemptYes

Performance

ProductAPIEndpointsHTTP MethodOAuth 2.0 ScopeSecurity PermissionConstraints Supported?
Performance Review TaskPerformance Review API/services/api/Review/PerformanceReviewGETperformancereview:readn/aNo
GoalsGoal API/services/api/Goals/CreatePOSTgoal:createGoals - CreateNo
GoalsGoal API/services/api/Goals/UpdatePUTgoal:updatefullGoals - CreateNo
GoalsGoal API/services/api/Goals/UpdateProgressPUTgoalprogress:updatefullGoals - CreateNo
GoalsGoal API/services/api/Goals/GetDetailsGETgoal:readGoals - CreateNo

Recruiting

ProductAPIEndpointsHTTP MethodOAuth 2.0 ScopeSecurity PermissionConstraints Supported?
Job RequisitionJob Requisition API/services/api/Recruiting/JobRequisitionDetailsGETjobrequisition:readn/aNo
Job RequisitionJob Requisition API/services/api/Recruiting/JobRequisitionDetails/AdGETjobrequisition:readn/aNo
Job RequisitionJob Requisition API/services/api/Recruiting/JobRequisitionDetails/CustomFieldGETjobrequisition:readn/aNo
Job RequisitionApplication Workflow/services/api/x/rec-job-requisition/v1/requisition/{externalId}/application-workflowGETapplicationworkflow:readn/aNo
ApplicantJob Applicant API/services/api/Recruiting/JobApplicantGETjobapplicant:readn/aNo
ApplicantJob Applicant API/services/api/Recruiting/JobApplicant/CustomFieldsGETjobapplicant:readn/aNo
ApplicantJob Applicant API/services/api/Recruiting/JobApplicantUpdateStatusGETjobapplicant:updateApplicants - Status ChangeNo
ApplicationJob Application API/services/api/x/external-application/v1/job-application/submitGETjobapplication:createExternal Job Application API - ManageNo

Reporting

ProductAPIEndpointsHTTP MethodOAuth 2.0 ScopeSecurity PermissionConstraints Supported?
Cross ModuleReporting API/services/api/x/odata/api/views/GETreportingmetadata:viewReporting API - Read OnlyNo
Cross ModuleReporting API/services/api/x/odata/api/views/$metadataGETreportingmetadata:viewReporting API - Read OnlyNo
Cross ModuleReporting API/services/api/x/odata/api/views/vw_rpt_*GETScopes for each Reporting API view follows this pattern: {viewname}:read. For example, to access /services/api/x/odata/api/views/vw_rpt_user, you will need the vw_rpt_user:read scope.Reporting API - Read OnlyNo
Cross ModuleData Exporter API/services/api/x/dataexporter/api/objectsGETobj_metadata:readReporting API - Read OnlyNo
Cross ModuleData Exporter APIservices/api/x/dataexporter/api/objects/$metadataGETobj_metadata:readReporting API - Read OnlyNo
Cross ModuleData Exporter API/services/api/x/dataexporter/api/objects/$cs_diagramGETobj_metadata:readReporting API - Read OnlyNo
Cross ModuleData Exporter APIservices/api/x/dataexporter/api/objects/*GETScopes for each Data Exporter API view follows this pattern: {obj_name}:read. For example, to access /services/api/x/dataexporter/api/objects/users_core, you will need the obj_users_core:read scope.Reporting API - Read OnlyNo

Bulk

ProductAPIEndpointsHTTP MethodOAuth 2.0 ScopeSecurity PermissionConstraints Supported?
Cross ModuleBulk API/services/api/x/bulk-api/v1/specificationGETbulkapispecification:readVaries by load typeopen in new windowNo
Cross ModuleBulk API/services/api/x/bulk-api/v1/jobs/{job_id}GETbulkapijob:readVaries by load typeopen in new windowNo
Cross ModuleBulk API/services/api/x/bulk-api/v1/imports/{import_id}/errorsGETbulkapiimport:readVaries by load typeopen in new windowNo
Cross ModuleBulk API/services/api/x/bulk-api/v1/imports/{import_id}/reportGETbulkapiimport:readVaries by load typeopen in new windowNo
Cross ModuleBulk API/services/api/x/bulk-api/v1/imports/{import_id}/warningsGETbulkapiimport:readVaries by load typeopen in new windowNo
Cross ModuleBulk API/services/api/x/bulk-api/v1/schemasPOSTbulkapischema:readVaries by load typeopen in new windowNo
Cross ModuleBulk API/services/api/x/bulk-api/v1/jobsPOSTbulkapijob:createVaries by load typeopen in new windowNo
Cross ModuleBulk API/services/api/x/bulk-api/v1/imports/{import_id}POSTbulkapiimport:loadVaries by load typeopen in new windowNo